829 lines
858 KiB
HTML
829 lines
858 KiB
HTML
<!doctype html>
|
||
<html>
|
||
<head>
|
||
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
|
||
|
||
<link href='https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; }
|
||
.mac-os-11 { --title-bar-height:28px; }
|
||
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
|
||
body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
|
||
iframe { margin: auto; }
|
||
a.url { word-break: break-all; }
|
||
a:active, a:hover { outline: 0px; }
|
||
.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
|
||
#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; }
|
||
#write.first-line-indent p { text-indent: 2em; }
|
||
#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
|
||
#write.first-line-indent li { margin-left: 2em; }
|
||
.for-image #write { padding-left: 8px; padding-right: 8px; }
|
||
body.typora-export { padding-left: 30px; padding-right: 30px; }
|
||
.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
|
||
.typora-export .task-list-item input { pointer-events: none; }
|
||
@media screen and (max-width: 500px) {
|
||
body.typora-export { padding-left: 0px; padding-right: 0px; }
|
||
#write { padding-left: 20px; padding-right: 20px; }
|
||
.CodeMirror-sizer { margin-left: 0px !important; }
|
||
.CodeMirror-gutters { display: none !important; }
|
||
}
|
||
#write li > figure:last-child { margin-bottom: 0.5rem; }
|
||
#write ol, #write ul { position: relative; }
|
||
img { max-width: 100%; vertical-align: middle; image-orientation: from-image; }
|
||
button, input, select, textarea { color: inherit; font: inherit; }
|
||
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
|
||
*, ::after, ::before { box-sizing: border-box; }
|
||
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
|
||
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
|
||
p { line-height: inherit; }
|
||
h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }
|
||
p { orphans: 4; }
|
||
h1 { font-size: 2rem; }
|
||
h2 { font-size: 1.8rem; }
|
||
h3 { font-size: 1.6rem; }
|
||
h4 { font-size: 1.4rem; }
|
||
h5 { font-size: 1.2rem; }
|
||
h6 { font-size: 1rem; }
|
||
.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
|
||
.hidden { display: none; }
|
||
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
|
||
a { cursor: pointer; }
|
||
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
|
||
sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
|
||
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
|
||
figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
|
||
figure > table { margin: 0px; }
|
||
tr { break-inside: avoid; break-after: auto; }
|
||
thead { display: table-header-group; }
|
||
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
|
||
table.md-table td { min-width: 32px; }
|
||
.CodeMirror-gutters { border-right: 0px; background-color: inherit; }
|
||
.CodeMirror-linenumber { user-select: none; }
|
||
.CodeMirror { text-align: left; }
|
||
.CodeMirror-placeholder { opacity: 0.3; }
|
||
.CodeMirror pre { padding: 0px 4px; }
|
||
.CodeMirror-lines { padding: 0px; }
|
||
div.hr:focus { cursor: none; }
|
||
#write pre { white-space: pre-wrap; }
|
||
#write.fences-no-line-wrapping pre { white-space: pre; }
|
||
#write pre.ty-contain-cm { white-space: normal; }
|
||
.CodeMirror-gutters { margin-right: 4px; }
|
||
.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
|
||
.md-fences-adv-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
|
||
#write .md-fences.mock-cm { white-space: pre-wrap; }
|
||
.md-fences.md-fences-with-lineno { padding-left: 0px; }
|
||
#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
|
||
.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
|
||
.CodeMirror-line, twitterwidget { break-inside: avoid; }
|
||
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
|
||
.footnotes + .footnotes { margin-top: 0px; }
|
||
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
|
||
li div { padding-top: 0px; }
|
||
blockquote { margin: 1rem 0px; }
|
||
li .mathjax-block, li p { margin: 0.5rem 0px; }
|
||
li blockquote { margin: 1rem 0px; }
|
||
li { margin: 0px; position: relative; }
|
||
blockquote > :last-child { margin-bottom: 0px; }
|
||
blockquote > :first-child, li > :first-child { margin-top: 0px; }
|
||
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
|
||
#write .footnote-line { white-space: pre-wrap; }
|
||
@media print {
|
||
body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }
|
||
#write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
|
||
.typora-export * { -webkit-print-color-adjust: exact; }
|
||
.typora-export #write { break-after: avoid; }
|
||
.typora-export #write::after { height: 0px; }
|
||
.is-mac table { break-inside: avoid; }
|
||
.typora-export-show-outline .typora-export-sidebar { display: none; }
|
||
}
|
||
.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
|
||
a img, img a { cursor: pointer; }
|
||
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
|
||
p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
|
||
#write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }
|
||
p > .md-image:only-child { display: inline-block; width: 100%; }
|
||
#write .MathJax_Display { margin: 0.8em 0px 0px; }
|
||
.md-math-block { width: 100%; }
|
||
.md-math-block:not(:empty)::after { display: none; }
|
||
.MathJax_ref { fill: currentcolor; }
|
||
[contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
|
||
.md-task-list-item { position: relative; list-style-type: none; }
|
||
.task-list-item.md-task-list-item { padding-left: 0px; }
|
||
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
|
||
.math { font-size: 1rem; }
|
||
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
|
||
.md-toc-content { position: relative; margin-left: 0px; }
|
||
.md-toc-content::after, .md-toc::after { display: none; }
|
||
.md-toc-item { display: block; color: rgb(65, 131, 196); }
|
||
.md-toc-item a { text-decoration: none; }
|
||
.md-toc-inner:hover { text-decoration: underline; }
|
||
.md-toc-inner { display: inline-block; cursor: pointer; }
|
||
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
|
||
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
|
||
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
|
||
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
|
||
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
|
||
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
|
||
@media screen and (max-width: 48em) {
|
||
.md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
|
||
.md-toc-h4 .md-toc-inner { margin-left: 5em; }
|
||
.md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
|
||
.md-toc-h6 .md-toc-inner { margin-left: 8em; }
|
||
}
|
||
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
|
||
.footnote-line a:not(.reversefootnote) { color: inherit; }
|
||
.md-attr { display: none; }
|
||
.md-fn-count::after { content: "."; }
|
||
code, pre, samp, tt { font-family: var(--monospace); }
|
||
kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
|
||
.md-comment { color: rgb(162, 127, 3); opacity: 0.6; font-family: var(--monospace); }
|
||
code { text-align: left; vertical-align: initial; }
|
||
a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
|
||
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
|
||
.md-diagram-panel > svg { max-width: 100%; }
|
||
[lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
|
||
[lang="mermaid"] .node text { font-size: 1rem; }
|
||
table tr th { border-bottom: 0px; }
|
||
video { max-width: 100%; display: block; margin: 0px auto; }
|
||
iframe { max-width: 100%; width: 100%; border: none; }
|
||
.highlight td, .highlight tr { border: 0px; }
|
||
mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
|
||
.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
|
||
.md-expand mark .md-meta { opacity: 0.3 !important; }
|
||
mark .md-meta { color: rgb(0, 0, 0); }
|
||
@media print {
|
||
.typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; }
|
||
}
|
||
.md-diagram-panel .messageText { stroke: none !important; }
|
||
.md-diagram-panel .start-state { fill: var(--node-fill); }
|
||
.md-diagram-panel .edgeLabel rect { opacity: 1 !important; }
|
||
.md-fences.md-fences-math { font-size: 1em; }
|
||
.md-fences-advanced:not(.md-focus) { padding: 0px; white-space: nowrap; border: 0px; }
|
||
.md-fences-advanced:not(.md-focus) { background: inherit; }
|
||
.typora-export-show-outline .typora-export-content { max-width: 1440px; margin: auto; display: flex; flex-direction: row; }
|
||
.typora-export-sidebar { width: 300px; font-size: 0.8rem; margin-top: 80px; margin-right: 18px; }
|
||
.typora-export-show-outline #write { --webkit-flex:2; flex: 2 1 0%; }
|
||
.typora-export-sidebar .outline-content { position: fixed; top: 0px; max-height: 100%; overflow: hidden auto; padding-bottom: 30px; padding-top: 60px; width: 300px; }
|
||
@media screen and (max-width: 1024px) {
|
||
.typora-export-sidebar, .typora-export-sidebar .outline-content { width: 240px; }
|
||
}
|
||
@media screen and (max-width: 800px) {
|
||
.typora-export-sidebar { display: none; }
|
||
}
|
||
.outline-content li, .outline-content ul { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; list-style: none; }
|
||
.outline-content ul { margin-top: 0px; margin-bottom: 0px; }
|
||
.outline-content strong { font-weight: 400; }
|
||
.outline-expander { width: 1rem; height: 1.42857rem; position: relative; display: table-cell; vertical-align: middle; cursor: pointer; padding-left: 4px; }
|
||
.outline-expander::before { content: ""; position: relative; font-family: Ionicons; display: inline-block; font-size: 8px; vertical-align: middle; }
|
||
.outline-item { padding-top: 3px; padding-bottom: 3px; cursor: pointer; }
|
||
.outline-expander:hover::before { content: ""; }
|
||
.outline-h1 > .outline-item { padding-left: 0px; }
|
||
.outline-h2 > .outline-item { padding-left: 1em; }
|
||
.outline-h3 > .outline-item { padding-left: 2em; }
|
||
.outline-h4 > .outline-item { padding-left: 3em; }
|
||
.outline-h5 > .outline-item { padding-left: 4em; }
|
||
.outline-h6 > .outline-item { padding-left: 5em; }
|
||
.outline-label { cursor: pointer; display: table-cell; vertical-align: middle; text-decoration: none; color: inherit; }
|
||
.outline-label:hover { text-decoration: underline; }
|
||
.outline-item:hover { border-color: rgb(245, 245, 245); background-color: var(--item-hover-bg-color); }
|
||
.outline-item:hover { margin-left: -28px; margin-right: -28px; border-left: 28px solid transparent; border-right: 28px solid transparent; }
|
||
.outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before { display: none; }
|
||
.outline-item-open > .outline-item > .outline-expander::before { content: ""; }
|
||
.outline-children { display: none; }
|
||
.info-panel-tab-wrapper { display: none; }
|
||
.outline-item-open > .outline-children { display: block; }
|
||
.typora-export .outline-item { padding-top: 1px; padding-bottom: 1px; }
|
||
.typora-export .outline-item:hover { margin-right: -8px; border-right: 8px solid transparent; }
|
||
.typora-export .outline-expander::before { content: "+"; font-family: inherit; top: -1px; }
|
||
.typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before { content: "−"; }
|
||
.typora-export-collapse-outline .outline-children { display: none; }
|
||
.typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children { display: block; }
|
||
.typora-export-no-collapse-outline .outline-expander::before { content: "" !important; }
|
||
.typora-export-show-outline .outline-item-active > .outline-item .outline-label { font-weight: 700; }
|
||
.md-inline-math-container mjx-container { zoom: 0.95; }
|
||
|
||
|
||
.CodeMirror { height: auto; }
|
||
.CodeMirror.cm-s-inner { background: inherit; }
|
||
.CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
|
||
.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
|
||
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
|
||
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
|
||
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
|
||
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
|
||
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
|
||
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
|
||
.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
|
||
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
|
||
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
|
||
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
|
||
.cm-s-inner .cm-property { color: rgb(0, 0, 0); }
|
||
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
|
||
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
|
||
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
|
||
.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
|
||
.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
|
||
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
|
||
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
|
||
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
|
||
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
|
||
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
|
||
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
|
||
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
|
||
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
|
||
.cm-negative { color: rgb(221, 68, 68); }
|
||
.cm-positive { color: rgb(34, 153, 34); }
|
||
.cm-header, .cm-strong { font-weight: 700; }
|
||
.cm-del { text-decoration: line-through; }
|
||
.cm-em { font-style: italic; }
|
||
.cm-link { text-decoration: underline; }
|
||
.cm-error { color: red; }
|
||
.cm-invalidchar { color: red; }
|
||
.cm-constant { color: rgb(38, 139, 210); }
|
||
.cm-defined { color: rgb(181, 137, 0); }
|
||
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
|
||
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
|
||
.cm-s-inner .CodeMirror-activeline-background { background: inherit; }
|
||
.CodeMirror { position: relative; overflow: hidden; }
|
||
.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
|
||
.CodeMirror-sizer { position: relative; }
|
||
.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; outline: 0px; }
|
||
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
|
||
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: auto hidden; }
|
||
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
|
||
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
|
||
.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 10px; z-index: 3; overflow-y: hidden; }
|
||
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
|
||
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
|
||
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
|
||
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
|
||
.CodeMirror-lines { cursor: text; }
|
||
.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
|
||
.CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
|
||
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
|
||
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
|
||
.CodeMirror-linebackground { position: absolute; inset: 0px; z-index: 0; }
|
||
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
|
||
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
|
||
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
|
||
.CodeMirror-measure pre { position: static; }
|
||
.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
|
||
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
|
||
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
|
||
.cm-searching { background: rgba(255, 255, 0, 0.4); }
|
||
span.cm-underlined { text-decoration: underline; }
|
||
span.cm-strikethrough { text-decoration: line-through; }
|
||
.cm-tw-syntaxerror { color: rgb(255, 255, 255); background-color: rgb(153, 0, 0); }
|
||
.cm-tw-deleted { text-decoration: line-through; }
|
||
.cm-tw-header5 { font-weight: 700; }
|
||
.cm-tw-listitem:first-child { padding-left: 10px; }
|
||
.cm-tw-box { border-style: solid; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-color: inherit; border-top-width: 0px !important; }
|
||
.cm-tw-underline { text-decoration: underline; }
|
||
@media print {
|
||
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
|
||
}
|
||
|
||
|
||
:root {
|
||
--side-bar-bg-color: #fafafa;
|
||
--control-text-color: #777;
|
||
}
|
||
|
||
@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);
|
||
|
||
/* open-sans-regular - latin-ext_latin */
|
||
/* open-sans-italic - latin-ext_latin */
|
||
/* open-sans-700 - latin-ext_latin */
|
||
/* open-sans-700italic - latin-ext_latin */
|
||
html {
|
||
font-size: 16px;
|
||
-webkit-font-smoothing: antialiased;
|
||
}
|
||
|
||
body {
|
||
font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif;
|
||
color: rgb(51, 51, 51);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
#write {
|
||
max-width: 860px;
|
||
margin: 0 auto;
|
||
padding: 30px;
|
||
padding-bottom: 100px;
|
||
}
|
||
|
||
@media only screen and (min-width: 1400px) {
|
||
#write {
|
||
max-width: 1024px;
|
||
}
|
||
}
|
||
|
||
@media only screen and (min-width: 1800px) {
|
||
#write {
|
||
max-width: 1200px;
|
||
}
|
||
}
|
||
|
||
#write > ul:first-child,
|
||
#write > ol:first-child{
|
||
margin-top: 30px;
|
||
}
|
||
|
||
a {
|
||
color: #4183C4;
|
||
}
|
||
h1,
|
||
h2,
|
||
h3,
|
||
h4,
|
||
h5,
|
||
h6 {
|
||
position: relative;
|
||
margin-top: 1rem;
|
||
margin-bottom: 1rem;
|
||
font-weight: bold;
|
||
line-height: 1.4;
|
||
cursor: text;
|
||
}
|
||
h1:hover a.anchor,
|
||
h2:hover a.anchor,
|
||
h3:hover a.anchor,
|
||
h4:hover a.anchor,
|
||
h5:hover a.anchor,
|
||
h6:hover a.anchor {
|
||
text-decoration: none;
|
||
}
|
||
h1 tt,
|
||
h1 code {
|
||
font-size: inherit;
|
||
}
|
||
h2 tt,
|
||
h2 code {
|
||
font-size: inherit;
|
||
}
|
||
h3 tt,
|
||
h3 code {
|
||
font-size: inherit;
|
||
}
|
||
h4 tt,
|
||
h4 code {
|
||
font-size: inherit;
|
||
}
|
||
h5 tt,
|
||
h5 code {
|
||
font-size: inherit;
|
||
}
|
||
h6 tt,
|
||
h6 code {
|
||
font-size: inherit;
|
||
}
|
||
h1 {
|
||
font-size: 2.25em;
|
||
line-height: 1.2;
|
||
border-bottom: 1px solid #eee;
|
||
}
|
||
h2 {
|
||
font-size: 1.75em;
|
||
line-height: 1.225;
|
||
border-bottom: 1px solid #eee;
|
||
}
|
||
|
||
/*@media print {
|
||
.typora-export h1,
|
||
.typora-export h2 {
|
||
border-bottom: none;
|
||
padding-bottom: initial;
|
||
}
|
||
|
||
.typora-export h1::after,
|
||
.typora-export h2::after {
|
||
content: "";
|
||
display: block;
|
||
height: 100px;
|
||
margin-top: -96px;
|
||
border-top: 1px solid #eee;
|
||
}
|
||
}*/
|
||
|
||
h3 {
|
||
font-size: 1.5em;
|
||
line-height: 1.43;
|
||
}
|
||
h4 {
|
||
font-size: 1.25em;
|
||
}
|
||
h5 {
|
||
font-size: 1em;
|
||
}
|
||
h6 {
|
||
font-size: 1em;
|
||
color: #777;
|
||
}
|
||
p,
|
||
blockquote,
|
||
ul,
|
||
ol,
|
||
dl,
|
||
table{
|
||
margin: 0.8em 0;
|
||
}
|
||
li>ol,
|
||
li>ul {
|
||
margin: 0 0;
|
||
}
|
||
hr {
|
||
height: 2px;
|
||
padding: 0;
|
||
margin: 16px 0;
|
||
background-color: #e7e7e7;
|
||
border: 0 none;
|
||
overflow: hidden;
|
||
box-sizing: content-box;
|
||
}
|
||
|
||
li p.first {
|
||
display: inline-block;
|
||
}
|
||
ul,
|
||
ol {
|
||
padding-left: 30px;
|
||
}
|
||
ul:first-child,
|
||
ol:first-child {
|
||
margin-top: 0;
|
||
}
|
||
ul:last-child,
|
||
ol:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
blockquote {
|
||
border-left: 4px solid #dfe2e5;
|
||
padding: 0 15px;
|
||
color: #777777;
|
||
}
|
||
blockquote blockquote {
|
||
padding-right: 0;
|
||
}
|
||
table {
|
||
padding: 0;
|
||
word-break: initial;
|
||
}
|
||
table tr {
|
||
border: 1px solid #dfe2e5;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
table tr:nth-child(2n),
|
||
thead {
|
||
background-color: #f8f8f8;
|
||
}
|
||
table th {
|
||
font-weight: bold;
|
||
border: 1px solid #dfe2e5;
|
||
border-bottom: 0;
|
||
margin: 0;
|
||
padding: 6px 13px;
|
||
}
|
||
table td {
|
||
border: 1px solid #dfe2e5;
|
||
margin: 0;
|
||
padding: 6px 13px;
|
||
}
|
||
table th:first-child,
|
||
table td:first-child {
|
||
margin-top: 0;
|
||
}
|
||
table th:last-child,
|
||
table td:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.CodeMirror-lines {
|
||
padding-left: 4px;
|
||
}
|
||
|
||
.code-tooltip {
|
||
box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
|
||
border-top: 1px solid #eef2f2;
|
||
}
|
||
|
||
.md-fences,
|
||
code,
|
||
tt {
|
||
border: 1px solid #e7eaed;
|
||
background-color: #f8f8f8;
|
||
border-radius: 3px;
|
||
padding: 0;
|
||
padding: 2px 4px 0px 4px;
|
||
font-size: 0.9em;
|
||
}
|
||
|
||
code {
|
||
background-color: #f3f4f4;
|
||
padding: 0 2px 0 2px;
|
||
}
|
||
|
||
.md-fences {
|
||
margin-bottom: 15px;
|
||
margin-top: 15px;
|
||
padding-top: 8px;
|
||
padding-bottom: 6px;
|
||
}
|
||
|
||
|
||
.md-task-list-item > input {
|
||
margin-left: -1.3em;
|
||
}
|
||
|
||
@media print {
|
||
html {
|
||
font-size: 13px;
|
||
}
|
||
table,
|
||
pre {
|
||
page-break-inside: avoid;
|
||
}
|
||
pre {
|
||
word-wrap: break-word;
|
||
}
|
||
}
|
||
|
||
.md-fences {
|
||
background-color: #f8f8f8;
|
||
}
|
||
#write pre.md-meta-block {
|
||
padding: 1rem;
|
||
font-size: 85%;
|
||
line-height: 1.45;
|
||
background-color: #f7f7f7;
|
||
border: 0;
|
||
border-radius: 3px;
|
||
color: #777777;
|
||
margin-top: 0 !important;
|
||
}
|
||
|
||
.mathjax-block>.code-tooltip {
|
||
bottom: .375rem;
|
||
}
|
||
|
||
.md-mathjax-midline {
|
||
background: #fafafa;
|
||
}
|
||
|
||
#write>h3.md-focus:before{
|
||
left: -1.5625rem;
|
||
top: .375rem;
|
||
}
|
||
#write>h4.md-focus:before{
|
||
left: -1.5625rem;
|
||
top: .285714286rem;
|
||
}
|
||
#write>h5.md-focus:before{
|
||
left: -1.5625rem;
|
||
top: .285714286rem;
|
||
}
|
||
#write>h6.md-focus:before{
|
||
left: -1.5625rem;
|
||
top: .285714286rem;
|
||
}
|
||
.md-image>.md-meta {
|
||
/*border: 1px solid #ddd;*/
|
||
border-radius: 3px;
|
||
padding: 2px 0px 0px 4px;
|
||
font-size: 0.9em;
|
||
color: inherit;
|
||
}
|
||
|
||
.md-tag {
|
||
color: #a7a7a7;
|
||
opacity: 1;
|
||
}
|
||
|
||
.md-toc {
|
||
margin-top:20px;
|
||
padding-bottom:20px;
|
||
}
|
||
|
||
.sidebar-tabs {
|
||
border-bottom: none;
|
||
}
|
||
|
||
#typora-quick-open {
|
||
border: 1px solid #ddd;
|
||
background-color: #f8f8f8;
|
||
}
|
||
|
||
#typora-quick-open-item {
|
||
background-color: #FAFAFA;
|
||
border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
|
||
border-style: solid;
|
||
border-width: 1px;
|
||
}
|
||
|
||
/** focus mode */
|
||
.on-focus-mode blockquote {
|
||
border-left-color: rgba(85, 85, 85, 0.12);
|
||
}
|
||
|
||
header, .context-menu, .megamenu-content, footer{
|
||
font-family: "Segoe UI", "Arial", sans-serif;
|
||
}
|
||
|
||
.file-node-content:hover .file-node-icon,
|
||
.file-node-content:hover .file-node-open-state{
|
||
visibility: visible;
|
||
}
|
||
|
||
.mac-seamless-mode #typora-sidebar {
|
||
background-color: #fafafa;
|
||
background-color: var(--side-bar-bg-color);
|
||
}
|
||
|
||
.md-lang {
|
||
color: #b4654d;
|
||
}
|
||
|
||
/*.html-for-mac {
|
||
--item-hover-bg-color: #E6F0FE;
|
||
}*/
|
||
|
||
#md-notification .btn {
|
||
border: 0;
|
||
}
|
||
|
||
.dropdown-menu .divider {
|
||
border-color: #e5e5e5;
|
||
opacity: 0.4;
|
||
}
|
||
|
||
.ty-preferences .window-content {
|
||
background-color: #fafafa;
|
||
}
|
||
|
||
.ty-preferences .nav-group-item.active {
|
||
color: white;
|
||
background: #999;
|
||
}
|
||
|
||
.menu-item-container a.menu-style-btn {
|
||
background-color: #f5f8fa;
|
||
background-image: linear-gradient( 180deg , hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));
|
||
}
|
||
|
||
|
||
|
||
</style><title>Ansible</title>
|
||
</head>
|
||
<body class='typora-export os-windows typora-export-show-outline typora-export-no-collapse-outline'><div class='typora-export-content'>
|
||
<div class="typora-export-sidebar"><div class="outline-content"><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible自动化运维">ansible自动化运维</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible介绍">ansible介绍</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#核心组件">核心组件</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#任务执行方式">任务执行方式</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#特点">特点</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#执行过程">执行过程</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible部署">ansible部署</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#参数说明">参数说明</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#快速开始-1">快速开始</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#常用工具">常用工具</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#主要配置文件">主要配置文件</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#配置主机清单">配置主机清单</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#执行状态">执行状态</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#常用模块">常用模块</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ping模块">ping模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#group模块">Group模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#user模块">User模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#command模块">Command模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#shell模块">Shell模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#script模块">Script模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#copy模块">Copy模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#file模块">File模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#yum模块">Yum模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#service模块">Service模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#selinux模块">Selinux模块</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#playbook剧本">Playbook(剧本)</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#介绍">介绍</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#快速开始-2">快速开始</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例服务安装">案例:服务安装</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#高级配置">高级配置</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#fact事实变量">fact(事实变量)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#循环迭代">循环迭代</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-1">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例循环创建用户">案例:循环创建用户</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#条件判断">条件判断</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-">RHCE真题讲解(2023-10-)</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#jinjia2模板">Jinjia2模板</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-2">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例生成nginx配置文件">案例:生成nginx配置文件</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#role角色">Role(角色)</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#目录结构">目录结构</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#初始化自定义role">初始化自定义Role</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例使用role安装httpd">案例:使用Role安装httpd</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-3">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li></ul></li></div></div><div id='write' class=''><h1 id='ansible自动化运维'><span>ansible自动化运维</span></h1><h2 id='ansible介绍'><span>ansible介绍</span></h2><p><span>ansible 是一个开源的自动化运维工具,主要用于系统配置管理、应用部署、任务编排等场景。它使用 YAML 语法编写配置文件,语法简单易懂,学习曲线平缓。ansible 的任务是幂等的,意味着多次执行结果是一致的,不会产生意外结果,非常适合于持续部署和集成。</span></p><p><span>ansible 支持众多常见操作系统和中间件,具有良好的扩展性。同时它还支持自定义模块,可以满足各种复杂的自动化需求。另一个特点是 ansible 不需要在远程主机上安装任何代理,只需要有 SSH 访问权限即可,并且不需要中央控制节点,使用 SSH 协议直接连接远程主机,部署和维护相对简单。ansible 使用 SSH 进行远程连接和命令执行,保证了数据传输的安全性。</span></p><p><span>ansible由python开发,集合了众多自动化运维工具的优点,实现了批量系统部署、批量程序部署,批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署能力的是ansible运行的模块,ansible只是提供一个框架。</span></p><h2 id='核心组件'><span>核心组件</span></h2><p><img src="data:image/png;base64,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QBbGspTV9Xg8vn37dq/XsywLI0J37969detWvV5HDZPNZjc2Nt57771isXj+/HkhRLfb/eSTT37/+9+fPHkSdQsAYF1Qv9+/fv365cuXfd+fm5trNBrD4dAwjPn5+ZWVFc755cuXr127VqlUWq3Wn/70pw8++KDb7dq2rWnap59+OhwOZ2dnz50753ne9evXv/jii/Pnz2OoR0qZzWY1Tdvc3Lx+/frdu3dd161UKqVSqVarvf/++6urq+g//uKLL2IE6cqVK6PRaH5+/uLFi/1+P4qiI0eODIfDv/zlL7/5zW+q1erMzEw+n9/Z2Xn//fctyyoWi/V6/ebNm1EUHTt2TNf1RqNRq9VGo1E2mzMM48rqlfX19StXrwz6g0w2EwTBn//85+FwaJjGq6++yjXe6/c451LIZrN589ZN3/fffOPNt95+a25uzjCNSIh33nnnuedO27aVy+WGw+H62ro7dufm5oQQH3/80eXLX3z55ZeMcQD48ssvr127tr62XiwUGjs7lz69VKvXUk6KcT4ej+/cvfvpxYvHjh6tVirNZvPDDz7Y2ty0HUcI8ZcLF65dvZpOpxlAFIaTDleYk/l4H1cZW8OrBsfj8dh1XbRSpAkDQRwO0ktPDxY3v8OnU5FxdX8RBRL+xPq+j00AkzcjZcLJVLWqeNoHQxAE8R0Av3jH4zGGkjC+hDYJeIcLZ/CpVArDUN1ut9frzc/P67ruui7Og5XfN9tbebJrC7G3p5BaARJqbWtrq9VqdTqdzz//fHt7W0pZq9XW19cXFxdffvnlpaWlL7744vbt29VqdXl52bKs9fX169ev67peqVRc10W99NOf/vRXv/qVaZr/+7//+7vf/W51dbXX66HYKBaLp06deu6551ZXV69du9bv9z3Pu3379n//93/fvHnzF7/4xWuvvRZF0YULF9BIoNVq7ezs3L17N4qi8+fPD4fDTqfT6/Xq9fpvf/tbIcTa2tr29nY6nX7ppZdWVlb+8Ic/3Llzx/O8EydOnDlz5vvf//7MzMx777139+7dXC53/Pjx69ev37hxo9VqjUaj9fX13//+9/1+/+233z5+/HihUOh0OtlsdmFhYWVlJZ1Or62tXb16tV6vnzhx4tixY1euXBkOh6+88r2f/Pgn165de++991zPffV7r77z43eazea///u/r66uVqvVpaWlcrmc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mWfWr19vWVa9Xoel3avlGOYK7ydBEHcibXFLJgjiJhAJXatXJt0EODAyDCMUCmH4yHEc13UxmlSr1SYmJk6fPn3u3LlisViv13VdtyzLNM3+/v6NGzf29PSI/EbbtlFN4airWq2+884758+ft227VCoVCgVN0wYGBnp6ejZt2tTf3++6ruM4OPk9Pj7+6aef1uv1jRs31uv1ixcvXrhwYWpqKhwO7969e//+/ZFIxHGcTz755MiRIwsLC7Zt43gxmUwmk8m+vr577rknm82irsDtxB3E6nMWdO9tQz73ZBPmeLdne4hVAc4O4O/U87yFhYXDhw//9re/vXz58tatW//8z/98cHAwGo3ipINlWaqqGobR29v7wx/+8NixY4cOHcLcvK1bt2J4Fi999XqdTBoIgrjVkF4iiHZHxI6anpQftOY+3dlgZZEIYmAkZ2Fh4cSJE6+99tqzzz77ySefNL0lkUh873vfe/rpp++5555kMiniToyxSqUyPj7+2muv/cu//MvZs2eb3rhhw4ZvfvObf/Znf7Z371606lpcXDxx4sT/+3//79ixY48++milUjly5Mj4+Dguf+DAgX/6p3+KxWIfffTRc88999xzz7Vu/0MPPfS9731v//79g4ODkUgEk/QwvVDUMn3lB+3maE0R5BIghZjkd1FwiWjCNE0M22IR4JkzZ376058ePHhwcHCwp6fnxIkT7777rqIopmnG4/FNmzYBwHvvvTc7O6tpmuM4tVrtX//1Xy9evPjjH/94eHg4lUpBUNKJGqxN6jMJgrgjIb1EEO0OXwosHZvKwql9Btm3Gsxtw9Q4LHzyPO/06dPPP//8q6+++tlnn/X29nZ2dmIdlOu6MzMzly5d+o//+I9PPvnkr/7qr9asWdPZ2blt2zbf9xcWFo4fP/7rX//6ueeem5yczGaznZ2doVAIK50uXrw4Njb2X//1X0eOHPmHf/iHr33ta1gvkUgkotHo+Pj4z372M8MwDMPo6uqKx+NTU1O5XG5mZuadd955+eWXDx48mEgkenp64vE4Y8xxnHK5PDk5+fbbb4+MjHz729/+wQ9+cN9990UikVqtZtu2YRg4B7/SB/iLseyJR+NXQsZxHADAfLxqtVqv14eGhmzbXlxcfO+9944cOQIAiqJMTEyoqvq3f/u39Xr9Jz/5ydDQEAaENU0bHh52XffS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c46ZmTmEgwKxCZ8NoSFmrmbxrfqKUI9kjPHeI6Jz7vjx43/1V3+1b9++8G5oVisin3/++b//+7+/8sorH3zwweHDh5944olHHnnkyJEjcRyHjQCAtTaEv6anp+fm5qa6XedctevulocJVjm4FYKa7j3bCqoSx5E1kc8S9pIOh0kG4MGCVVERIUa/wK//8vWPPvhoZmamFTf7vf6d2wtRFKkIIRnCS//+H//Pf/2xcWZ6ZnruwL75O/Oq+uarby7eWFx4YeHEAydfe/U/rvz63VPnzzSazeX5petvXmPPhORcZK2zZJFw0Btcv/7RgUMHjxw52ul0FheXrTEXL1wwinc+n//JD//ff//HX5hudOb0mTMPnJmZme37gaTgWpEnTdMhgBpDxY8qrpDxG3dMe7MIN+XPKwe3qLBbVbioxVItCvCqR32Sk/A1xK7hS3lwqYwvVRLByyfVl6jj790r6osl4CuvX8odUDVq1Khxn2H14LZ2sKt4hUdTE4JiTmwmnWgqnGlkp49iIBqiR6NVRMNHSguqjt3vCLTyWPVOqTm++WxKRAKSpml4OTc3JyLz8/M3b94M0aTbt2+HqI6qBsrknAvPAcDadYy6VbGsJEmcc865NE2Zud/vz8/P/+Vf/uXs7GxI8BORfr//u9/97tVXX3377bevX7/unHvhhRdCy9o0TUPZknMuNFxqNBrdbvfAgQPdbjeKIiTa6GrSINQW/qIoiCADaOBHBCAEqCA6WXwJNU05AS/eI6OAhQwcRpYsGLBoiYz2den6ysrtXqt707motzjIllJ30GacLvcX3/ntW795400/5CeffPLiUxf37du3vLzMKv/6L/96/fr1wavDOwsLN2/ezHw23Zk+88AD8aNxb3llZv/sw+cets6l/fS3V34LLfij733zsScfb3e6Cv72wjwIdDrthmskvcHK8srnN28md5KoGWVZBqDWEQKuDFbQOIiMWgABBllfy2HN87WXlRaOES5iegxAo75YyqCsKkCCIeEHBFEQFEGwji+txq7hS/AllcVu40vreaRGjRo1anxZ2IG5DcskLyymrVFIKfwZ61e7OuixI9puux6j0tkJthD+K5Idq1vegpUigEKSJl68NdY5941vfOOv//qvrbVBpM4YE0XRpUuXbty4sW/fPudcCCs1m80gzJBlWZlKN7bhIgkwvBwMBgDgnOv1ejdu3HjrrbfC9gPp8t47515//fUf//jHn332WZqmJ0+evHDhwhNPPDE9PZ2maZIkAGCtDfvTaDRardb09HSn04miiBBFVTcrn0MoCmkkTwcdHR1V0UCkJuLwyJqBeEsmih2BFRVSElXxwt6zemjAyYeOP3rh0cNHDhlDn9747JV/edU1XbPVtNb0Bv3hcDA7N/vII488ePbczNyssRYAb3xy48aNTxbnFztx++jxY1d+8+57r1359Lc34qmGm4rP8JkTJ04cOHiw2+lGUZw6u+/Q3P79+wVg0E/SjDvtqWajIV4R8cjRw//jX/0P5x8+9/K//ezatY8O/vbQ1P7p1mxHvGRJYsiF60Zl1AMpDxdV3C5l0s66Gb9FPRgU+niqCsVxz5Xf89xIkqLiYQNnT41dwJeKsFLA2vTiVWdy3ejTZN9fA2Digzn5YawDwzVq1Lj/oVBEk8aLs/McufGkGh23e+79G0dbGG0pr6kPhmglP68S4NJKgURtFe2MT7awOYv/RppjW81gChCqj0yeYnfw4MGjR4/CeNQoTdNut3vkyJFms5llGQC0221VTdM0TVNjTMjlgwpBWsWXgq6DtXZlZYWZ33nnnUaj0Wg0nHODweD27dtXr17953/+5zfeeMMY89hjjz333HNnz54N8SgAaLVaIfEvjuN2uz1VII5jKC/1jX4j5gKSpcxAqKYpeqoGnWsQRZnsnlBEdAatVbKegVFFhYFZJFFmpzADhx489uS3njl86LCxeGZ56Y2rb/cHK4n1fUzTmNUZFWHL2DQY4yDpkTED6WeUtpqduaNzsyf2raQrh2YOLt5dun712ge/fv/GjY87M52LbceOoylnUtNPeovLC1NT041mbCO1lq5du/rB+x9qxg+cPP38M88eOrb/11d+Nf/pwo3f3zhx68Tx2War0xpQliJnWWYULa6x0nXsaakDsc7x0pwESV6nqIW2eFm5KCLAKBL4U7C4EbUIfdf9aqu47/nSvQ5h9VmuUaNGjRr3F76EjAXMo0uwvvxv4Y2u9F/ScumIPNUJeTvhlSsyIUdFIau3v418vFyfIxSaEYXIT8l20jRdXl5utVqDwSBNU+996HoUypastSVfgvFMvPJ5yNxrtVrD4fDmzZs3btw4d+5cu90Wkc8+++zNN9/82c9+9v777x8+fPj06dPnz58/ceJEo9EYDoeI2Gw2G41GCGE1m83p6emZmZl2ux1FUUjkW/2tGxwnAWFmQWZhgFx0HBVYFEBFacJWU4Kqyt4LqtcMkKntIlDDyEPvmQUA1CBG1qOkzGARIuivDBaTXl/TqOWibnRn5c7lty6r0+5M95NPPmbRK1fe9SLt2fb88vzy7WUQOPboiSOexfH1j68v9hYSHapTscokC7cX3nvnt1EjOnXydKPZQbRkcGHx7m8uvXn35p1PHvxoZXFx5e7y3fllQaGIgIBBlEBQvHoBRiDR0ZEoKtLWS8xbjy+RgqhW4kuQh/UUWQEUGJAVBEXCARtz4GB+Hdee6gK7gC99IaxPsmvUqFGjRo0vB+sGaEau3zUl2rDm5aTAtd9fxq+07KRa7GeejyfBni+qwmuzKByXSfPx1qRCji/f4syrqKggYogphUhO4CHhydGjRxGx0+kQUcjBC4J45cpjv2g91YcQX+p0OktLS6EpbbfbXVlZeffddy9fvvz6669fvnx537593/rWt86dOxe+KJQ8BZoUKqZarVYIK4U0vCpJg9ItsO4lhaCqwsIigsJStkgFBGDJc0Uniy+BGvAEAKrCoOCs0cj6VPo+XU4GA0lBoO8HiXpsWGC4c3dpIGnCybIfpOTnDux/4Imzn35y48oHVz6//Xlkols35lk4bkVnHjr94KMPdfd3P/zw6nu/eW95ZTFqNW7fmZeGzBydmz44bVtWLIuV3nz/8qW3EkmQzLFjJ5vNlmd34MD+kydPLH2+8Pav337vyhWf+P7K8Pi5w0dPH56ZmxHxK71BDxKITBRFhkn8OF9akzy17sLiKIR8vBBiGuNLkverJVERFEUtS+zWPmoE7D6+NCbqkHc3GyHEv3FMi60uQdopFIHforfHqiGyRo0aNWqMsK4m6JcoFLp9E7OcFusBfAw77m/VTV6tByJiDVEXKGXBg1Z4eP7QQw+dO3cuSNiFiqOgaFeypio24ksi0mg07ty586tf/Wp2djZJkl//+teffvrpu+++e/v27Xa7feHChYsXL05NTYXKKBEJBUvGGOdcs9mcmZmZmZmJ4zgImoc9HA8sbUELVUQoNJIK4tWAACJAocEyrv4t625mo8UMwAYgNF1VQMVEWETU0NTc7ImHH7BNe+yB0xS7gWSAajuNY+dOzxzbd/jUUWga04kuPveEyeB3v32fM44g6kRtETlw+sDZxx44fvJkFEcJpELeL3kW35npnOueO/nQ6YPHDjJlpkkPPnqOUAf9pVarCaAiLKI+8/vm5h5/+jFr6NPrNwa9HqBOz3bOPXLuzEOnG83G8sqyj1WNsnqjplqBMmbIbrpwdOg11IPlzhGBoqouCMCoKIAqiapSvoFyhWJrdQBihF3Al0onmaAqlnnACkqIahFVlBAAUFQtIhjL7DPVwuPGZSVsIU9Tph7oWDP29VBfLAGIIMIAaIxBwHyYVg0+MJXgDFrXQ7mOm2kjH8Yqfwau/yEYf1/Xels2Rm0c1KhRY4eBWvXjrfXhrcKYGx5zcTCoLiwkgLfrjlLIiw1COYgCSGiQWbwl46OzVj5S2EX6tQgwTRwcutcNrJqEys7s1RxJzJMm8+9adxNISEogoy5JqhqqkgIbCdl3AFCyoyALviqytAnKLURRFLS/b9269corr9y5c4eZz5w5MzU1dfbs2Xa7bYwJJVJBgs8Y0263u91up9MJAg9hD0tlcygYmoIGBQLB3DIIS1GRFFGBUTJkjz7o45EKCiCMxPIQts7I2ygWiAhexKeKhKioAp41EUAl13Ld6e7Tf/TMypMP7ZvbTxHdXrmNBJ1u+5kXngbSZrvpYpf4pLuve+H5Jw49cMSQaTQaBoxnbyMXt2LrLAOfOn/q4ImDw97QOCvCaZbOzM22pztDn0Qd98hTj54+f3yYLDVbrbjRZOJ+1lej9v9n712bHMmSK7Hjfm9EAMhXPbr6MTPN5c6LjyGplY3J+GFMRpqtmSQzcrV/VZKZ1kyfqP3EHUk7WslkJEUuh6LNTM90z3S9MhNAxL3urg9+bwDIygSyC9lTlVXwzspGAoFA4EbEvX7cjx+n5vjJ8R/8V3/4/X/1fUtJRabH04ePHsRpnEs/T4vJ8fG0i4s8yDCml13aAAAgAElEQVQAMaDqia9dJuu56/FJpdXF5qkCv4DMSMzIEsHG4iRTUgQhExKFKQ1RcwSihagxWgRQ804HK/bW4yXyW86ETEgzaSYBYKpkFDQ2gYfUB45MlLK0kw4xXuSUYByYAeQ+MDEHJoI3M1ZdaavS7uzTbfukv8tGTDT0SxDHOA0czSynrKLtdKpqWZOzbAugWVunRyhEMFIUboiXHsKELFP5TbAMk3Xfwwn3LqfJQiSrkzV+DFCXp8K4XXty8wGVpP/BDnawg92lWajzTPmt5XGdkYoPuV5BbWTGpmxK3p+bxve4Yw0PDbvfOXbrHtuPXjGBCVEyy0AmEve2A4tmInJMxxWeGaAuGUyk5F/gHaDe7LtU6yuMla0fsTq1XDktTn0MoEhFqsqb1PqiR5XPNnZf33CCx5WKKPAK/FzJEa3/OTaoHf8cn9xgx9Vn1jEYaqLJzC4uLj777LOHDx/+/u///g9/+MPz83N/3rNGjtbatn348OHp6enR0dHx8fF0Oh2PZB0p1ZFRMgEoUQRRUEQDjIKGRpgMA9si5ISUOTEQhBoBQEMIikAwvs1iffOpMgNnwO8sAyAZPREJsWKYftR2Tx7EgKxLyRnAgu3hN06JiBii1stSLdsDOzl+GJg5BCKKqmZIpoMtzYwn3J1OG+18PEWUY7jEXEgsaghhdnYywxQgVUuSDTnZwBp0ps0sTrg1MxVhDvMwGPqETLMgyJypEYKZUdZXcoZfZUgCUUsUDQPZIkCDNiFH0kYRM8WBU+LBgopak22mpNJ1edbZxMiGkOIeEYR3z956vISy4lRIbEq+fhjDyNSyasocwSFGgqmaKDexjRybCJU8T95m25trA1TK58ZIz4FRttOIAlHOEaAY2KfoyXSqqkxEDAvBsulmj7mxsUcRitpMG68yS7RCWbpKIdkKqPoUb0brDepXiegaxruKlGwztAe8Cw7BwQ52sLfPfIoqf4zTDq13PdoM1BqZrVY29zWtgiJi8iiR3SrDtMq8E9SnWiI1Y8CoxJjhVUtAIdqUgD+Z89f9k9+BWPKezh3V8bnp9bXd+zJWnAjyR06AMRf0rue3aLybFZ6LOg9q3MlaRrEeBW1BAq+KKbwq6nATT94hk2eNHFkxs4uJf/jhhz/60Y/+9E//9Jvf/OaPf/zj3/zmN6qac2bmpmm6rnv48OHjx4+9WqnrunXu3zWH5DnOkkwC1zWZ/SlASDOZQBXiKJ7Nr0MSIjLVres1Xfn/qxtYTT9VqpFY9mNIuSciBCQIGNwCQLIBXF0Tghp6ETNDhEJhecP1IAAQyApeExChJuMGakoMJjNVI9Pg3DgFMjExs5KYmZKBpOSDCBxJVVRXToyqXH8qXxmL6zYp978BsAQolKAMUwUSkA1GYiRGyQTBECywBacCKqtj8Js+4H2z+4CXbjaDqlKIkTnEpomEF5eXLxcLawN3DYdAKpYT6oJUDVcXr4PtMmZWUeagQ6+ipiDilIbUD7Pp0WQyISbSQkFGVa9d9QSwuiRsGXerxba+8l/Zsiw9/seKRFJ/j+JQdTKz9Vex2uxgBzvYwe7URl2p2nZmFRJaGZlVmMSeOh/Fp9bd503W3G2iPASQgdVC+fHgvLGaEViNDcHMyTUOz9wNcj1xP2Le2jHnnti++se0yzOozkOFOVbBDcF7X5mZE/91hbxq3HC/Fqx3a2PWyFs2ffvb3/7Rj370Z3/2Z3/wB38AQFVV1QUemHkymTx48ODx48enp6dd1/kbb/Mh1y249QwVaWtPyPkfDDIzLRFWlS3DVQ7g5uGkXfcNXQfzrrGdZ2ybS1PiF+qC6esgz8P2tU5o9JeADbBrO+P523wqgwmZwNhMXFcjmIopqwhEiYy0HGGdizZDNPd/SrhTu8d4SQExQJWIVHVIqe/7/+v/+b//09/8Ta9CbcgiMJ00EVVAs8AlJhDVKjgwH66JHWZmkoWI27aFWeoTGWJszLRr2j/6wR/93u/93mQyxXpmx9butRo7+Yp3n5WWaiPzGXTdnbwOkMbPu+7D7CsfwcEOdrCD7bQxJV6nK9KrrwJrs89aNdFYfm1rwaVVyfWYO9oyc/mns6H+GCsYIHYc5ZDJwVGZKwmmABcPyfzt9N4zb3biJdSs3MqspO5KDm/9+fpDNRd1O7h0OzCyh3nzJc8shRC+//3v/8Vf/MUPfvCDTz/99OjoaLlcjqVKDquOjo4++OADB0uvNsPdbtdvai7Upgp1Jr83BYJBSBVEozzBjbvdcQzO5N+OuHbuZH+jkTlbYRCREWhUJRuVFdaSv2s5TsOOOMa2K8oKK9KCmaoJoGqqplAVqLIqVFWN/HkaQdPa8b81EP8tsHuMl8jTl0zMQUSHYXj2/MV//I8/+R/+3f/cQ4/OTlLOOeeua1XV6xEBEDEzDFAxMwXhVUmZg10xMxMVJmpjC1NJEkMMoMXl/KMPPzyaHX33u99lXtHlnIq93oX6FgvxGN4YMRGV8J2NwTy+zvdYSzGtnrkCjV7d5mAHO9jB7sZ8qhv1FdaeXIc6JXoLGHv8Bzaykd2hXilTWfWkVnJWu9wmMzZj8xRWZYDBmcz+ey2/BKLSxda4bPZO8G72zy/t2v9mGLA8Ks630ZqA1BivX4k02+b7rj+Gr3+N0hplbtv2+9///oMHD/71v/7XDx8+HOXCXXBvOp3GGNu2dXUHb0f71cyuW4dhDpdURSBCHveGqIFMVYTgpLH9fPUdwvCvNMf6mmw8/2V+IL/XxgtlnB1WFwrWStt2gTracsUYTEEKb1FLBphCFQoyhSlBTMXU4MCVSh6sjnw9XQevqdj9wEvbZjGnghoQIwd++fLl5198/viTj77zne80XZdUOQSFmWgB6kRclpKCl+hWspXvuZmZESyGwMQm2sX22Ze/+T/+w48p0OVibrCrSqJX5Ch3Tk1jJpjWvYtbZI3G5BJhDRe9ssE1jw92sIMd7E7MRn+4howwElsMYJAB1QV0oOIMrU313hE5rQDTbqduRUQecdGIl9yLX0GmVTqerFSXOEyiSqa+x7bm472e3SaiRtUT31xX1pTvNtIDGFOIuOXp/PrNwZK3XfrhD3/Y9/1HH33kgWP/3TTNZDKZTCaz2azruqOjI88slXa0e312CYGaas0vCUBjfklJFcRwh+3GwboifXHNBjvxkn3teOnKKV/DRzaCkBX8XmEkrHtPO93THd+y6LsUIKRQgyoVwS31Z0wLH89M1xrU0s7dv2d2H/DSDde0oahzqqmRxSa2bQvm2LTf+e53/9v/7r95+MGTTADFCuuJGLyihdHGBXywbWbMEEkECsQQnbTN3//N3/7D3/9DAFJOKQ1m6mXDa+9ahVt3Rihs7Xd9xguQrToftNEZfSNjDMAZ+bSxgxU98OrGBzvYwQ52J+ZuXkkQ0SqtPubJUd0mqwreFQyV8g0bd7OKRq85Wbu8urqJFQ6TI6T1w1gRmVcOWfXgx7TYvsU/b4ft7QJv30ERy77y5DXvttEBtvV1yN6GNchZdt529uOPPx7TTWO7p0ePHqnq2dnZdDrtum4ESyP5Ywclb1zOXyXFVxQhpWbGzMTAWqv5xETKhrrlM1Zktm3HsA3drRhy2z5lL7Mi7ntdIMKqgqatRZTHUa1Akazenzcf4c1hDoOBTM3yyMczCwolR6pU+JBm/ptXapt1pnJ4+5rf/52ztx4v1XjY9YEfohBCTslAIZAxJZE+DW3XfeOb33r88YfzLMmYOQRm18cjeE2mv5twxcM/2HVGZIFJLEGNlSzn49nki8+/SCqxiRSgJoENYBPdDEERgYzs9ixYG7UiAJ9xK2S6bqFam0qI6OaZ5c0vUQc72MHeUas5nRqDq+7i6Ce7W2S22qRgK1sRYF5JqAOrv7bOnj5VKkxpjBnTKNzlbRuc3uxNKd1hVbLaKLTEDe99fgnYEy/dIr+0xsdbRfNWLsoGyh25TWt/vg3mnk/O2ZsmecPZUaeemT/99FNmPjs7izE2TeN65Q6rbvsZ5VqnK0/aiOfN1NSb/wBaGtYCSqpEgJruxku7DuB6Zbm6Ae08IXveEUpQqkF5Wk0Hxa/BxiXhUiJ1s9WNv0OAZPtBGsgERmYiJoCyt+YxEYgYiYlADSrlFKzXjNm7EUG5Q3vr8dJ1Ni4qntTNIszBLxuDpZxSSiIy5Lzshx4hhBiYPdFsAEx1lcylA2C6hZnBiC0SkRqytKlZprToF5PmJIvM55fPn0cZctd2E2/LYLWYGCAwwdZLoMch14pcndBQXYz6a+3MlBVHr86/1YhuPJNrIb93wSE42MEO9hbZKj0Df1QCu/Uv2lR/cBvbkVZBat96rbcSgKrmuiPJVKL0nlxiMqYCzhheCKI+xfIYfzSXER/V+uphv/fT4y2WiAIENpMT3n8IRLCSHaGSvDMq0nm4g9zXXZgfi4h4I1rvOD9y7bzP0ieffOKyeJ6J2i4d/lWtpjVHvQfzbEvBS+Zi2uKA5sZvUfa15WDuQI3Q9vu268EIXKW7rKeg6xav8DwBI932LUbF5xs30AyDWfb8kkDJlJAFQY3Uan4JpjcN13W735maeyftXuIloK5RZlnF/1AXbGSKTTTCcuhVjZsmIILIiHVceIyLHv1BVfzWpk7BN2MgBlaQmobA/TD86pef/d3f/s100r348tl3vvOdP/yDP2SO3lbJFGrKIRADMKJAbJIzkbpKYc45NJGJqc4UzGw0isp4n4Da33prdl31prXulUnpYAc72MHuyJz1UsW4Kvl7FTsmU/NWCF6/5HLTasoAELnG8tzcbS19QmMMIawSV1SDUFSj0VX6WWAZlqDKsEgGEwWxMQeLnKEGYvaCplKBo6WfIbTipfu/HO77BWhHzUv5CBtr872zkkueEYigRmoIULDX12vgwMygMX/3Jkd5/UqLMY6q4qhAyJ85OzsbOXvjW1wN4jUQxJU0k3sGNuIZUkdGBsCFB/yeAbaM1S0GcXuQ4bdhYpUR+CrB5tVDs9Vm43DxVVT16pu2yrSYkQVADKLIgCq8HTArNMMyNEMBLWCJUXlY40HeuHcncG45tnfP7glesrWfTWMiqje8VoFwNeuHQWEcG9NgV4Qlv7qy9XtvZKwCZFHWDA7ZRExDjEManj9/+stf/aINzWc//8XZ2QnzD5jJdBVGGmWB/EY0UzN1aqSKtMzEBDUR8bcUBQ6FFc0YP3N8bfXS2jHe8PzaiX/jE+jBDnawd8+ous6j2eZsVchF7Mkj16ZygQXvDegPiKky5mqKqWQtxqhRaQA0lkH5/g1EiGQRvQx9GjSEDJApmaiDAC0RqLE9uEeUpSb52ZTvfX7pDqb3W4DGApcUY4KQ2Mhb1I4kLwKx09GLdvY6zeFrt2tRzcoNNgsheGZpTGYWAo4ZgKZpXt3PV3OOyS9RT2aOZTnAip/oSU7z+IEnPAEyEvVR257utJrH3XII0H0dvf0olDJWUN1yL5ubEWAG3v4dtkaRASMIASMfjyAEIQtCKlCBCAQwRVGDKenQUh9m1Ydb6RavZ5betyzT246XtiObNWJeLU8bnySqOqw7mAwHu4WZqjH5wstqJmZqRsxd1x4dH52dPZi23fz8cjKZElO5/UBaT0rp1ma6xjEBARwCh0BEopKyJhgRSm90v2kJLlNubLRtvh6F9bYvS/fdITjYwQ729hkRV1qepxxqNTfgPDgDe8hnlSly93DVn8WbXcQYCRAVU805i2QOnp0grEqdVmEoEDERMTFRCDwM/bJfNrNZDEGBnAc1CjG4LKy/n8Cjb8QE45Fi9iaG7m0y2o2XPPZnWHNkiTwwb0TFRTeQiiFSCCwqqkJEzE6jeFvCdl+js0uVDXctlatgJlMTNREVAwVAQHCGWKmS2Fa/tPvgza7jwf5WbSQZvp6NN+w+RiYEKERNAZVav5QdLHk7JnOd8RUxd408+H5lkLbb246X3G6cxQioLCzzduVV1ENRgjrbRSPfmgrMt9oMpGBiptI0xNRMVBVKTDHGtuu6tmvaSICKGKkZuVqtUknAA6WdNxERs6n6EhJCAEzN4Gl58wbfa0lAW9EfVke0fnT+u5Jfbt6GDwT9gx3sYHduXte9RuZy9QeqmSeAPdtgBBATwGxKAAPqbWTXjYmlJJrcSoyJipze6leh5pGKShYOTIFDCG3bWhOHLLpMZqyqTMzMvOKgG5EpGUiNApxtde8Xw32hyC3wEoDaSae4ljUYTwZSYhBIRYaUc4hOKWfmpmmYg5mp7ub83X+jzZ9XzdRUTNXcj3c9cQJITBQAGaluORdjsuPmYzClG0tyfjtWohN7vH1vvGRkTIAii2VAYYGQCSwmAqrjX/oy6YonqVR6WL8HV+ut7T7gpa2Xi9USuTFlAdTW0S4q/76lDL8mIwIFDkwErgx7yVkDe3zCzJfsnEWcoUAcvPmdVpiiZiM/1nEXE4UQ4M2dYnQ9XDUlKxR99s8mTwvrWtgDrzywG16qjw2HYMnBDnawuzZbk9wtJULXee46xtYxco2VVASmxGxmIqKigQJT8Dr7kRDlEaQSAxyXNaseqSrU2hCPuknOxoacsqZkWZmIRA2WNYfqwbk+npEJlToqs0DvQjhp39V+l4O4apNjlY/n/3lF7shqk5xzTiJSZLjNzCzlZCp401Uf+2s27GkleqqqpCu8pABIKQgIprw1ObTTrTN3Pd6o7V8hP3YbeF1zl4oM5vklrhPIup44/J+t9Teo/tQ7MCPcob31eMluDlA4CoYVjXBPK5UfU5iYqarZVnmRwwVxCzNA1BkkHBDcHzCQqgqZShbNqqyWBVlJiQOIEEiNRAEYOw+vqOExapmyh1NVFURN0xoswaQ2RiicEa6gaYMyUtERrT1ej8ZsPO//p+0NGQ52sIMd7CvbGjWrBmQL+b8+6SkJHT2RwoFwxyUnE40hGCyllHICEzHF2MTYcI062U1+vAEGNkSxMMiUwsCchiGLmGiLECJF4uBKOgqufewqXkJmBRBcVu/e2x3kl7ZHaAupxWkTNY1YskxESWQwM1DTtDFGUCn7EREza9vW8yr7HOT9N4OpmvMUVYKYkSjEAEAsCODVTFv597fAS290ua/XyF731N7fgQhCBqWspEUfDwISgYvESC71S1q08qoOh5NM9/rwd87eery01V5NLgAgM6/FtI1A3MFe38wsC+DyOFAzI2ZiYuZRCZwL4YM5MBFbBTclJUTEBFUlIHh1s5moOQ9FRE2Nnd+t4to4VCASMROsFDatH1T5/dXw0iG/dLCDHeyOjW1t/ak/67OVU8ZhpaKTPS9hykxaackEqIqIRFXi2lmdRpJZ0dCpMmZrBECCS+xdvHgpw9CGwCAFtU0IoRG1wIzspfU0iuGh5sWCEwbfEbnYvfHS7t3bOp2lpv+qA29GRE3bHoWmBalqjNHU5vP5YrHI+eRdGOO9zVwg0pWsVV002xs3Kql5gGBr8c8t8ktqb7p+qYCOPWx/8iablnZXzt0x8dySQT3ZpKak/tSK6Yvx4j4gpjW7N3jp5iyTYSx2oYLnxxobMyPddc+86dz0/TBC1fkRIzNjtlrSxEXOxguTCo+7NFgoqk+1GtqA0o1JVU094IqcRURqo1qn8nMgYlAAsZCp2kq05drDW/krAK7S866Q+A52sIMd7I6MDHFdTKHgJfeTfP6hGIKpQoWgIIsEApsIYEqFfsfMVCSboapZ1ZMSBRuV+szqxtT2lu7dnB4ff3D2IL+cn//6GXWtEolIaDuKWF5chhAiYgAzCqfZxv62bN5/SYX43i+FdisGQRnJtT9p4+FWmQFgXG1Kae7qeZglQs+cVDiIpDyfXx4dzR48OJvNjrqua9pG+qxy38d5p20M5HVDauoUE/Iycyptm630XyK47MMeeAlq4c3jpT1jELb1arzNAcCIlJSK3gOpA1Qt4w9VUvLOL9DqNo2c0wNc2rB7g5e+kq05y4fk0h0YETUxUoik4sp3G/qo8L/FNZ1M1bVyjUQpkAu+M5HK+unwhHyV4zAtj4gIzJE5RApMFAxMpqKgsq7ffJS7v8bh9r8Te+P31Fpc97di137ht+FSuhIleFOf/lbs5o0ZY5TD45GMV/XxCFibeWjMD9VCJ/+/gZk4hBi84RKrSk45p6xiaEpDOqxkQ+HNlFC4TXr+8uV//n///t/9j/9TPJotTQeVeUrtZNq03cvzi+lkGikgmyverPASlxZMANi2hKPui+3CS1bSfo5CywOsYqZXVoiy2ei0FlKkrWrK6qeO5WSX0EuAAh83k7PYLp8//9k//OfLl+ePT8+Y2MuZUCKD9/3C32Lr5XvX+fxOUR2F883xjb9iCiE12SqlXcssbhxDI91VivHbsN3x+p172OvNBdCrqoh40zUZE0osXuRfGlj7dVzaaL/5oXsL7W3HS16S5IrxrmGtZlixHbwohkzJ2+8RAlFkimTRjM1Id0KmA6TabQQSwFQzJCtgoSEDGwcj1sDKpFzqxtTIG3mQEjkKUrLAxmycJcPQtF3TtbFrjez58y//0//+v/3zP/20T0Nomqbr8pD7vicDEwXiADZTrXXJ19l6ZeIYFnn1tN53b+Btsf1Jjdexz7ecnasvGaC8+7Z9dYvxGQaRXblI6JUHr+5oLShNe+vV7se1MDixa/O4rmyy8eDqTaE01qyPtrGj2mDzKrNs3Cu7ZO5+9sZvy/0PYO1C2JiGRlNT8soXM4/vEhACN01DwK9+8dnPf/7zJjbMzERt06BpRLIr4xSPkmjoBzObTLqmaUTEO4ou5ouhH+aLxdOnz/75Zz9LIsas0Kw6mx213eT84mLSTcigouvn0kqNR704fttBiK/DrnIKV6RsgABRGYZ0NJvG2MwvL4eUJl13dHxMQN/3psYAM8UYLi/nanp8dJSzpDR4FZlIttpF0He5RlwoH9PnnIkmk4lmYdWT6UxSajmIpovFxamdUAia0jAMtSPrGnIj8tN639uAGlRpEE5MIdgEBtbSa1nAPYcM5owmW0/kyg6DkYBJY5NnHaJSyjzItgl2F3GS+C3w7PbOD+3xfgOCgYWiQSkQHQurEoQBzoKl0kCwTqjJbaPtkGhom8VxfjHN52wP5ei4j1kHasZU+X2fH/a1tx0vjfw6RU1sANg4deWu8OZncB8bkcCOl+w6t2ndDvVNtzAzMxKCipl4DzoqPSeYLbAFMi4/Yw0sGZFBs5moNsFiQ5ECgdkIYqowNf3Fz37xvzx7piLLxWIymTShycMAIHIITDBiQFTEVHibg1m63B7sazayO6gK32SW09rv8Xa9wUcHAAiR3ICX1qHNNrxkXrZxZc+v/nklELzyNo3yngUfe0u1slnYPK5rY672yoNiSibkeGkTK9YzXGJSGwO1gZcChJFf/xusf9ib28EdXM927cjX/ZdxDCAXEjVRASjG2LWtg5/lYvnJJ5+ISL/s26YNMYTgvwJR4ShPJhNTbZuWmfu+N7NJN/nwwyd//ud//id//MdN184v5zBrmub85cvPP//cYLPpbNkvYwi0ixlk70ZIedPDXuGlolpIzDyZTMgwn89TSsz88uXLv/vbv22IvvHptx4/ehiZ27a5vLxsmuZbn34Ks2EY2rYNIaSczBDWRAtfNck5hHB0dHR+fj5fzE9OT1VV1B48eHD26AxMBKYQRgdGc3ZpRAAxxjeuXHcnZpBMfaYhoumsW11bBkVIFIQ4CMdMzITAZhBjtcgymQ2zTtuh7XNU43zj3blrnN4Zt+61v4cCwRAVrUIRCEeJJUXJIQsr0ANEFhppu9TE1KSsqWmWk+Vlp3MG62QydAu92NUS9z2ytx4vvaa9K/fKW2NVJPc1KG0EkJrmnBtuA4esKpKZw7/4nd/5y7/8y5fn5xy4aZoQgoj88//3zy+ePX/86NGk65jI1FxDV3YpjL4bK83bb/vjJQ9sr+9y8+Wb8jy0tonZK+7flUTJ9imAYFz0P9ZyL1e/2c0ZJ5iRbP2E3bY3XiJDxUsbX9eubrVRwLfBo60tIW8caqrDWnNNm6/CCHuOw95z9d546Q7ypTu8MydxMRFWtJdSkklghqqmfHR8/PHHH3eTiZrpkEREzUSUWCVngE5PT1LOQxpgUNFhGM5x8dFHH/3bf/vfM/FkOnUFNmb6x3/8x7/+679+8eLFkycfxhgD8/UK5+tf4V3ASy6aXKx84ZUoBkIIk8lk6Ps0DG3bxRiXy+X/+ZOf/OQnPwHwO7/7L7773e+QqiPYs7Oz733ve23b+qiGEHLO6qLXN681Lvrqezaz4+PjnPNyucw5Hx8fP3/+XFWbpmnbtmkaAK7+qrVFx7uxihE4oDEYo9m4sAhGAhKlnDlnzgMPKfRwPScKTImg2dochhSXSvL60Yx34Xrey+rFz9mghhxzZhWWzFKmfeMACLIgG2VAyRJbDpYYiZCIhClt1Sl8v+ze4yWz6g3YqhR2fLEsTtv38PUe4DtiVlN6tvohA9nO+X2tIpaYRGQYhtg0k+nkBz/4o3/5ne88fPTIw35mdnFx8Vd/9Vf/9I8//fSb32yaxps0BWYzU0bNXd3wOe/ESvP22x3ll67cdtuySdc9KdfTwG6NlwDUtIl4BcrWvVyDl0C65+SxJ16yV/HS9VywzTdtjNurCtLX4FhaDcKrx7sv6LsLr2bv/NL+kG036dtdYarJd5h3VKiaVFDNWU6Oj0MMQz8MKakKYCI5BHYF0WHoLy4uU0rT6XQ6nRLRxfxCTbuuU9jlxYWaNU3DTM+ePf/ii18/ffpU1bqurY0I3328dEV+eRXwqPeHAWkYYOi6rm0aIlosFkNKpjq/vHz54qXmxMwppb7vz87OmqZR1RACgJyzyO7ogJ9Vx0X+dufavXjxYj6fE1HXdUdHR4vFYhiGIo3oTTUqK++OR+W3bgRixAiQRSivQlIEI1XOwmngoefYh+UyLrx4yZTIOHOK1ipLDmkvMW06NIREfLcAACAASURBVA8BGyUObGRADllJhUVq3JmNTZmAiGAYCEqWyJESBsZAEEYitDiw8QDca7xkGKsFsa7vWV7CuBDtFlI52HYrQ13C+lZqNW/95nJuiJg5UmxMDVgsFgZr2zZLvry4BNC2rarmlIZhEBUbTLPAEAOnlJLJAS+9DfZW4CWT61fDr4KXKgDQG5DA+l6uxUs7QzG7Pnu/mWdNhA2beGnrm77CMZdbdxMvbQCqzWN4HbvCd3z9fezz/q8ZLxFRjGEtyk7lPWaiamZM1IY4DMOXT5+aacqZgBgb5xgzh7b1QWbm0HVhNptNp9MQwpAGz11MJ9Oua0W17/ucExF//PHHk8lkMulE1SQD2C5/p/df7QG40nPiKl5y8cEYorepIKbAwVFTEln0fT8M7t0P1cxMRHgtC0RrBUzXHAGREyVijMy8XC5TSkTk2aSjoyMHSE3T5Jz7vvfNdu72Hpo3ANn8RlR8CKUSLtAi12YKKIig2TJAZMpZ9pkZ7JAWAQBXVScDxFRJxQXc/TVD6d6iaqJQFxxXMyM/IXdRnvou2T3GSyWj6FGz4ruMRHtzxbVV862D7WFmUDUEqg4mKUjHB0S6Xvhajcb/G5kiZ+m158gxRg5hSElUiGgYhj71BAoxtG17eno6mUyGlPMwSM5NbGbTKY10oK1H+W6tN2+trQher29Xd7Fzf5uX1k1O+le51ddqG18L+dhX/LxNuwu8hKucwK++w5uPoaaQr+73Cl4Kegd1g2/4tt3zet6ZXFLVvhf3C4vARu2N4Nw8JjJVdZVQoGmaGONkMp3NpqI6pOROtql2XRdiJOLL+bzv+xDidNqCyMyWfW9mKSci/ua3vvnJNz4Zht6ddc9g7Mgv7TECb4tt3lQbMZiKl5h52S8J1DYtEUnO0+n0f/33/z7n/Hvf//6/+pM/mUy6wLxcLp88efKDH/xgNpvBcWoIuMW59nF2Zp0Dp2EYRiwUY/T9+KtjwdLYvX3cyR2OypswZjAsuKRMucEIypCgwiIQQU6WxH+gpZbSkBqJCLNMswFxZ1faLfYu5Ev3MgIS0byJfWCDKYu3ufJBZQPUghJUoMIqUCFNbIltYAxMvbGQJaCt+3vf7R7jJbcVH8+Nxudrjol2UssP18FtbCX+WVrR3nY2MgAhxNgxRFUExllkyElUDYhtM51M05CWy2XXdt/73veefPDB40ePYWaqkTlw6PshaV6Rj66z+7/G3A9bq2N5TbMdJSd11zdvw2a8qwh1jZW7hxFG3eerL+y9Gt9Fmu7K33vv8WqKzlAkLq/9DDIE3XcRuZMuqXvt4+uuXyIi5lB6QWLdoXdHmsxMK9HLjDgQg0CYzWYnxyeimnNSlWVKsYlkmvrU90vJMp1OY9OklHJOZsaB1ZSAaTeZzabL5fLFi5deLeN5km1fYe9BeONmu/h4zNzEpmlaZpp0EzOTnI+OjgAQ0XQ6PTo6apvo3MWjo6MHDx44Xvqq5impV5ekkRXpD7y/lm/pmBbv1EJ2zRdZxaj8XAkgZt582b02UzNWdzf0gJf2MmNX5KxMq/UT4tRsqT+lXaatn6J3Yla4S7v/eAnANbXfBSypmRK2MOwJ2149mJvfWVaDZALSIn63KmSqRSBW/zYDkyv7F1koVVEKxIHIqOs6b+4tWcjbNYJBOD07bZt2Np0ykZmxIYRwLKpsCNvO1Du0zLzVVjQ/7hgvXeeRX7/aAn6pre1iPbl5e+97s/TuJkiAG6h3DAt+DK+XnfhK76JXPt7vtBsa2O8iN944wFcG4eoXfxXlGnhXW7Sdtrfsxd7r+teu90BQsZFuZaXERQnEgb12RUXbpvG9MLOp5pyJWc1yzqJKRBSYmN2piU3TdV3TNCmnfugBizHGplEzx1pDGjzjRMxZMlB5gDce47035z5ceQYAavsRGByiADQMQ87ZcQsz55z7fkgpdV1LtmKLodYjjcBmxzHUPF7OGX4qzfwBMzvBzzl46zLiY5YJlbh+tyPzRswbeq2nn5UVZMFCkNiktuu7qR6xhUwqUIXCECwGRBDNmcB73NgHvATAwImmRgYoSQ1+GQACReVGQpObLreNtpqFc0MSYEGJJJAFKK5QXN9ru+d4qVQnrZUv+QPd3GTbjXNws29lNuaX1ovKqfBKtgxhpdK5dgOY2BRZcohNYBaRLDlw8E37oTezGIMv80QkQ1KRwAyQbQk3rZ/F0Xe55tSuuamlVfvan4Sb61iu++CrHvud26ri4cYN1jcpX46ufrWdn1KgxubIrD75OnCzOR5fKc9hVx6Mu6upK9vYp8djN76NwMiun8bp6t7rfja3foWmewNeMt/jdaxeY6oyQ2XvV/DXLYZ/LxrYV0nybnxmfZPfVGvH4UWK/nAES2ooLTvXz0vdh0H16t139ZrZepC2VfXyNlZO0Ju0nZ0xRSSEuO4Hm5oT8IjJu0k2baMlGmz+DJmV7JMpGY0iombKzCHGLLJYLpg5xiaEACIV5RhV7fz8MqXUdt1kOlnMF2b6HnRcuDZ0ujYVlDnDnJjnWZ0QgmOhpmnarmtiI5JUNaWUUnJNPDMbeXS7jqAgK4dJY/8sb6wUY6yArWx5BSnd5iPupfnM7vFpI2/YGJSDxJgakDA5XdWCRaaggRPV+fW17A6qbO+/MdAIggLebW8t/kVAVA4SooaogSVADUYGHrNLh2KWK3bP8ZKTGerUY2WtGZtGOx/8ej6N26sSwgd71YyggKl6rb+aZdUs4s37zKAGIjbz9Z2JGDauF1x7RxMxqZqaZBFRIyY1cRo3DKIiyQUeAo+UP6LC6lfXiq2BwurnuY+tKiKipoFD0zZNE1UspaSqIJRg3hrcCxx87RzrTStk2LgczIz8uJmYWWVVK3nVVbX69v2up0LYuQ7oGYxAVyqPmRm0kif2K5+JiUg0m1mJYXuKr6RjjeDixjWuaTpqOnkctLwKUlGDFkkVAhODGcXb83NsBFo/LbRryR/dW0fb7sWV2xWKUphuQ8oGJSBEZiZ3M4jAHEBBxvSQlV9UGpMDQCDy/VpJNMO0pEh9YzEoWWQmZvL25qouRkwFwJkPkAGQMpNUVGSogG0F6kpcpmQICHfQAHSlCwAQiNcipt6UHREocx7quEHdG1M1AxVil7d9YfK4A8rdRGZcbisQ+wYe2qjwyNTAojIC6rKBmaoaNBIaCjknlXKjBQ7lmqxT8Q64RNvm59vZ3ryR34pTYHXu8OtklV4wAoiZRcWvQ/OblRkENQVToOD3v9Q6JwJyzgrjEGKMgRhGJsKBQSSSVY2YiTln8VzhzrvyHbArX/G6TKsRkZpBlZiZWVU9FxRKtytaf58nf7ja7Y6BfG/+ZwhhXDXGPYw8zPW3vDOSD6aaNIM4hoCahGeAjPtFb71NdHoynJwsTxhNDim0UUxSzqrShkkTmhxsybYDLzG2TLAHxw5AMOuyNerrtOkauZoAVmYLjcWQOKRGhjzj07kOmoNRK9wMZL0CoqpqqsY8XqKjt/BGv99v2+45XgKI2Z2vwnatvqbH5FSh4aCPt6+VSAOBHDsZxFREnWeAMTtgBCMmBgWzrAoKjqMKcmVvfWkgJjNVARghhBKNq7DFFxIRdc87xBBDyJZdQGdjpalEJSLquo6qKquKiYioAKVIIOfsnpzf+qbmeMk9OmYuquWqa9+6+KkGg0KtlPCOr6J+cxv/W+U6X2+cjYhqEHS1ctrGJxTwyUzjEq6mtarIYGWpTpIkCYCgwWPY7hKb+9hSeCDuJY8V4bSRKiEigrFB1bTsXdUhsaNQAvxkoXrIDra2f88yTlbzN2MWqY6nQUHGoBDZ8405D352QlBiFuISDKkXAo3pTt+bFOhZURn782YuScZErAC0cEWdIsUcYuR6DMbMcMhkfnEz/CIxYg7MkWpfG1UtFwrAFIzMdFfSYatRRT6OBIlgxmN5hhmBbDX1rS7GwlI3MDGH4MUYEDWlmnzz2AE8wG5cJ0iD6ySpwYg9FMVmBorlZiGMDHeEQCUmpQ6TxsTTGJIfL689huEdMR+E9ell3TlmJlAsU9qolgZgvFeIqQoJePTCzATGzLGJvnMzNSCECJiocWAGm+mQBrinvvWuvKH/8/0y2iwPWz3aTDuRiiqUiBRwvBRjrKO7CkWNtieMWXcrRzW88fe7ZwYyMiZVI5ESHGtiNELg0HGHuX3+08+ffvF0oEGjhRgMJqKi0oQ2IPRBF1F0K7t6e075gJcMaMymWVt3ihwv0eioAMZkgZWRqNEmpmZ5kTWzaBAEoZDAGTzlEEII7OG2uvMqavKmvt0bsXuMl0ZyyOZMWKONNalhW/nxhWZ2sK1mgBJZ7e5ZRhcwIqtEu6pNSBvlAEZU2WElwslETGRsZmJqlR1eBIhC2bvHQfy0MbMRSrmJp5qcUA4jFK+waZoYgpNYNItSwXe+W2b2AtyyVmlxQcohFscywOV9VX0dY2bPzKipiEnOsYkhhOql0sgFrReQ7t8Iu+RqyNFnuW7rXmu5lwcvK9Oj5IsCE0yyOCk/xhgpUID79WBS0UDMga26CKJCICMLCCGy+7YFOYhnDeH5F+ZSA60iKqYwJnU3whEFMwPGa777ljgEce3c6WFeLVsTGXNxI2p/ZAMg4v55ZHIEQqKm0BExevIQHiFRTwWBCJ7pYC59lgseNjCBGBRQpWyVoIGMmIjNk5uOVQKBmcDRsaED+5yzKQLFQOyuLmBq5PR7uPs7IsCb7YpUzTUbrLF06s4CSiEhGyTp4BeMgytPlFJ19gASVQaByLhKiZa6X79VTSHlCqm4191uv1uZyEZ1NTityFOsRhSYiEzMcghcUqs1we+RDvK01raviL2TS1dXgPtrV77G+hcbsdMKF9P4EqGK4htWbWlpzNHXvWwfpvfH8VktSbu33MgC3dGnvwcjTWDHrlbwJ4jEZDH0bWhooC9//uXTL55aNG7IGJfzRYjctR0HNoVk0fXectdbITXe+PKhfgkglAZYnl8yMl1XfSCCsimQKVjsaJIuEyWG8jDkpEqxIUkieRgGV+kc0f7oWb3Bb/fbt3uMl66xVURuZQcK5v5m9WcU5LdV/IauqZdeEaOujj4VopSZGRmLqas+2KqatmJYK+SuLNmyMZfcjlUSnYq4dxiixhj7nB0qhBC7rgtMWQSgwhAiDiFwoOpMkwEqMgxDSklybzBVGUPjngTzfJQT2Ydh0DXGF4qzu7H83cXKej2Nyz+NmJsY27aNMapZTklVmbiddF3bEpOKmFrbdU3TTLoOI0EfkJx9z6qmqjFGVSlJPwO8rNwVtIqPYCBQIObgLoaqqiGE0IRGTVVURIjEw09O+hrpsNscMDIiNa+QsUomqzQYGg2kpiqipjHGtpkSkaqklNWIGIVrVlxuT2IqvNiAOYQQQygMswKojGJgZgKUTUlgDFOzoKaqJpLT0A/LnHLOKanZyHAjqolKkb7v85BQ1LZrPtDgKRwAnpyB7uCird8l17xakTAzOSt1hOMhhMiRI3HjacbAxJ78daQUYtPESBwIHGPTxBhiZAolleahBiKR1OfEBCUwM4NDE1ojVRMVVb+/XInQHOdyiJG8ukYV1gRqmzbnlFyfjRA4dm1bErm1UH7LIADYT3DhHZndX/0atmuDK0/WqFRFTStcZbiF77gLvL9bRqvR2Xz2PRqDr9N88jKQltpkAqAq6b/84/9CB1FYjJGYYhMXi8VP/+mfQghnp6fdpBuGlCW3hqnQ9pzn9kjMwfEjQNiGKBLMAOPKwSpMIDgnyAympNkg1IVJw+23vvk7s9kJOFI06y1nWe/UPKZGm6a521DC22/3HC95DLq4LetBuEoawbYIRN3JYYrcbc6V4xXz54pk2LVjuEJU9dQYQUGhuJUEMiYrfc29IpYACMzU8x0rH3zNjQYHi1GyuA8ZAjexASGEIFmJ2cz6YVgsln6fm1m/7EVETFTcNzYR6ft+Pp8vF8t+6FW0H/phGIqfpzb60I6pUk7L+TLnXPlyPnHUfyAAUukcr2eVd7MJNdcYfm3XnpycHh0dBQ5Z8jAMANqmPTk9OZrNHGu0XTubzWbTqQPE2MS2bUMIBIpNdCjERG3XTSYTryD38WfWUMJFHpn2cUC2XL8sQmAOkWMDmCk84aSmkqWw+24nplMTkv5pvJYthhlUhZj8nGaHLiIaJMTouIiJODgEyqXTISgycxO4Dc4CU5HlYpH6PufkeSQYVFQlZ5GkKWsyB2SiIlmyDGlYLObL5bLv+74fvOw755wlj9U4KaXFYjn0vSbxo2biDbokSr1c7aZz8yDwtiXd83lUC9PHzo5MFEMMMU4m7ex46im24Cc7tE3ThBC9+r9putl01raTtm3btnOFlcAxxhhjE5sGZIqBiELgGJumaSeTSddOiDjlnBKpKZOnbRUAOAQOFFgAT8UWXmilZaqBRx+nZPPsMMHutp2pSKJVX4xXx7PqB2zsb7TD+G8YvZphKiGVuxin9yJ9tMsIFCl410Ybu2ISJk37b/7iL//sv/4zAteuwfzrL3794//w4yz5wcOH09k0pcFgLUI3CG1jNNP2peb9cuRvMGHro0kAAPVCck+X8kisKiQeFU2DHE+PYdw2k4cPHgbGfN6nlE6Oj6bTadu267XTGIkP71Pfy3uOl9zFxA1LiHscBx7C3laTS4ZSI8bOcrSaaDJyutz4Mz5ad/0JBhGDCQCrzKtAodTtEBHI8xa+vacIApGqijcfNvOciQcIZZBh6EWUiERkuVxeXFwsFovFcjGfzy8vL/u+H/qh7/vz8/Pz85d9v8xZKi+psNdEsqqSR8RFXAPVv02lwxd3Jg1JJI9fizewkgfQ9otqGVFw13M1ajXj4gQnbpqmaRpT64e+7wfAmhhns6MYY0pJRIipbboYg2fb2rbpJpPpZDKZTGezmWOnrmuPjo5PT0+Pj4/atu26rmnbrm3bto2x4eJ8rxRvPeUXQohNTNmWy2XgEGMMIRKpg0yUro4NALOtnV7UU0JUBR9QnT2tdEsNHLjIx2uWJCIGadESI0QDlEnd6VGoiYpoykmzaEE/sricP/vy6Ytnz+fz+dD3IjkNeX5xeXl5Pl8sU05iolm10EIL/BcVh0n+0aKikj2/FAKzV1KlISeBEBXSGleBmQKZmLgW7Wx3gre9bGaqVqRG/BbQorASY2zaGEJQ+LPqah8hxMDRIbypwTjEJnCgouDBIcS27abT6Wx6NJnMprNmehSa2DRt27bdZDI9Pj46PXswnR0zR6LQdO1sNiukQyKQwkwzoBbIGDCRvk9NjNPJRFVzFlNLKXHJI9MuIHAXdLr7P4PbzkXKxh41Vxe7UR/m+j3QaruDASuPAbWhwOg/0HV+xMFew5wBbMquQkLVGwPsdz/9lCmYjmW6+GD68Ff/9Nnl/PLo+LibdlkGChRCJNka7N6V2jicSQBGmBF7d/e1IgdFrWKCh0oDqWhK6Wh2rIqcpL+8GC4v++VgpiGcvqr3OBLz3qsU0z3GSxuOOTYejU7ueJtusffqfL+elQmvjOeGKuWVc4DVs9dwGzwCDafZFRW3jaiexzycDUShhC6cvycppzw47UdE+3758uX5s2fPnj798tmz58vFYr5YzOfz5XKZ0iBiIjmlNPbRWCwXKaVSWcHcNm3bdd4HYzKZhBBiiN2ka5qGCxIIMUYHJ23TxCY2sdm8mojWV9q1p15/nIt3aetVQK5V4JIFOeWLy4uUkpr2S8+Giacglsvev76IqMpi3p9fXPR9D1jFPzHGJkZPEcUYY9s0IQZmjjF2XTebTqez2cnJycOHD09Ojk9OTs/OHhwdHTlNmag0jTEEBwOOx/y0MQciAHwrjQPvIV0xYB0zrbEvYwYTRLKqiCQi67rYdU0InCVnGdJyIamXlPu+d5B8/vLls6dPz1+8WMwX/WKxHIa07PMwpCGVkjZVyZKGlNKQc9Y6+8cQQgxN07RtbJumaQLFEELTdV3TRiLzOqjYxMmknUynbdOAYGIBgSyUCoexcKfiJRdj2D637MBLMHNSKK3yS37MIYSmiVnk/PIiDf0wZL/m3a/OWVLK/ZByyipJ81DunCGnlFQthNg0bRPbEBGb3HVdjA0xu2DYZDY7Pj7tJrO2mxyfnj558uGDBw9PTh/Mjo+7bsIhAqViMMRGkVURY/SAhYioqoE41pFZoxEebIvtkBHEKiOymnAqA6/oXo7hlbU3jX/u2v/7ZTWyXgNRdTY6eNl3Zk4lMeLobeI8mqQwE8maETgyMxSWbdpMEvUypKVJkl7JiAPAW6bPnSfq/eKX3mjEFke5E8N6oNtNDcZMIjIMQ14mGLmWV4ghcphM2qaJqtr3vXtEGwXn71lC9R7jJbeqT7XunZc2xb6I7Ajd2QEv7TZPH1VlFTP441rBcRujGssrLCUaA6NaBMsUQOAQmJsYBWVinaehX/QXF+fPnj97/vzZy/OXF+cXnkS6uLw8Pz+/uLhYLhaqOgxDzhKbcDQ7Ojs7Oz05CSF0XTeZTGZHM2aedF3bdk5ImnST6XQaY+PRe2c0ef9HeC0Hhxg4Nm0TY9M2DqhsB7q+swuplgDVZHnV+M4pX15eDkMycz330pDKAeF8vpCcPTWUs87n88Vy4cmWlNJ8Ph+GIaXcL5cppX4Y5peXlxeXy+WyH3pVdTbgpJscHR9Np9PZ7Oj09PTk5OT46Oj45OTk5OTs7Oz09OT09MFkegJ4uQ6IqPQRNjPDqMx7i29Z79mKEscnzSXMVQHjEBoiIiyXi4vLyxfPnz97/vTZF59dPP113/fz+WJ+eXl5OZ9fXswv52noJYmJANS17enx8Ww2mx7P2qaNITYxTiaTSTdpm4aYiLhpYtM2jePhEFyWmQgcEGPTNFz0xhkhhLZtum7StRFMULAyg4vMwajIXmAYl5llD7wE1MziCCjVgFK1FThkkXk/z0POIpJF/XMNWSSlnPqUs5pCFY5k+iENy2HZ9yllyWpq8+X5+cWXMYYsslgsXlxcvnx5PmQhDswRFJq2Oz45Ozt7cHr64OjkdDo7mkymxyenjx4/fvTo0cnJWTvrqAlqRkZeGOWkUhA5qRW7F9RD0chuG5NI6/9K9u7qNeQ5yLUnbjm6788y6OTG2gRh9as8uIOU58EAIjVQkSIhAld1WZGs4l2VGcD0ZPq93/vusp8jgBrKNmQTEJPFLdfuyIm/aYPDKQQAEBk7XvKRojW5BzfvnOFaWSUGjEKldN7+7PT05OTE25SN65FVMeH1Feqdt/uOl9bumleuAmxN5662em9O9usbvVIVtv4agKvP0+YKNK5JKwo+scdMTVRUSp2Gy1YmkeVyeXl5cfHy/PnTZ7/87LPPf/WrF+cvLy8vnGUHYDqdTqbT6WTy4FvfOj4+Oj059WRRbKLjpdnRLIQw6Saz2aw+7mIsbKUmRg+Ku6aEV9UTuXacuIoaBQocg9ei4IprUvIq6yrfQGVlvfYwr01GNVcBIuKwUoHzyiur/Dd/vhbgZCIKTP41cxYVdXGNIeXz8/PFYpFTTikNaVgulpeXl/PF3FM0TlwchmE+n19cXCyXy2fPnv3i5z/vhyEwz6bTk7PTR48ePXz48MmTjx4/+fj01DHpyXQyAZGIZBEzG3XJt39Nrs2RVK1IKgBEYAZRMBOYmWlOaT6fP3/x4otf/+qLX/3qN19++eLli4uL84svf5le/qYUaMXYtd3xZPKNx58cHx1NuknbttNuMptMJ103mUwmXde1Xds0k7btuq5tWr9UAjPHmjvzM8wGMh/oogEYPLEmIBQN9cAuG87KXJmZZuZ1cePppyJyuG05XwHim7cpydg6cuPTKNrf03FMmYJ3RFWDiqmICFwBwqn+ZqSiKUtKKaecJS+Wl5fzZyAaUlrMFxeXl5eXi36QJNL3w3KZLi7nF5fz/uLFz59+OSQRVSKezo4fPXp0dnZ2cnp29uTJ408+evzBB2enZ5NJyxyaNhIFIvK6sF2r6Z3Mve+Tg7uezt744rarUmzXKL1Pozh6j1cIKge7M1NAqdIeXaRTXTnUdVudfQ+m2fHsX373d42VArghJck2ACGgoy1KMNfrIq1sJ8f1/TBaKx/zYOTmoK2auBiIJAsxmGAqOSdTAQeObWgaoARDY4z2SsHkewKZ3na8JGTCBqKgIWqIEkJmY2RAGGCDqZEGQTAEzVEkKAw0EPfgDBpj9WteR3XxKycHWwK9d9FM8b7PxEWTvfaUEVNxKQBPBpAaRCHmHWtRuswVCTMzpyoTDESWYUBgDoENNAzD0Pdt17ZNa4Y0pC+ePv3Zz372+ee/+s1vfvPsy6dfPn364tkzUX1wdvbo8cNHTx63bXd6evro4cMHDx6cnT04OT05PT05Ojpu24aZTEHMjoVQNcEDBzPzghwb++KMJDr34JnMQ/hKcLxEICaj8ryZrq6ctX/ACi9ttBT96qZjHTJtXDYGq9prpQxF/KItST+AKLQxUAMzVZOSMeMICoEC8xSYHs2GIRFREwMAySKuBAgTNRVJKQ0pXV5cvHj+4vzi/Pz84tnTp0+fP7u4uJhfXs4X83/+2c/+9u/+DhxPz86ePPnwG9/45pMPn3zw+PG3v/3tyWSiUINNugkRhmEYcwtW9DzKEMUQFJxdPoBCCEywftkzcwgUoJFpSMP5+dPnz778/PNf/fKXv/jss89++cvPXjx/YUbTyfTk9PjTxx+cfuNx102Ojo6OT05OT07OTk8fPnhwdDSbdF0TmxgiMzQLAGaKIYQQI7OZiWQzBA4cSl6sqrh5x1UKlXwIeOEPlOraoGYQ80sewYjr/GBUH42rk7/hpnO9m09S+K8Y2UOltZRfKqoAmpqAoiJ3DkDL+hioyHqDS9KHCMaqUa0RERU1HBN9SEQud+eNfQJFgfZDWi76lxcXz549f/Hy8uX5xcXF/HK+WC6Hy/ny4uUXP/3sp8OQm+nxgycfPfzgUO9NmQAAIABJREFU0QcfPP74k08+/uSjDx5/cPrwgREPOTdNNCNRMAWPU4iJqjZNYKaUBlOxYICZWgwrZjwTF+7vZmX+GBqtwzrmBvaTtX0L5mfamqqvJ/5VCF4gtOf8Vztb22gs19n+PXe4n78VY5VynP8/e2/+JcdxpAna4R4RmXWgLtwXb5HiKamlVlNz9Gr72LfHn7jzw+zPOzvz3rw3fWjZLe30dIuiJEoUxZsAQdxnXZkZEe5mtj+4R2RWoYCCGoQIgDAWUVl5Rnp4uNtn9tlnmEpkaSoKA0ZgRGgieTVJ6Ux2QBwTQQEBTZgAUsEXgJqlrgmOWFXAjFza7rt5RXkDSB/ydQ/AY2TUeZcEaSuFrguZcwQEmLqTmJKDoihzTTSYASMQAjso7ve6fmK7mBt3fEYOzRICcmqq6Z0VYApIAJxCov1uM4uXnuSXHiKLYJEMEb1Rpa4SFuEAFtiMDAkAFUScmlPzFrwpK6jRBGkMmIpkoSsH6SpOUkA74SiDGS8k2ezt3Y/94Wb33O3hoTVDVGBDoiQlnPoUgSIZkBqKghgKkiKpJrxEREQGZKZJwdlMCJEJRQ3UAIGZPLsWGoc0GY+vXLl64cL5Dz/66PMzn08mk/QeZVmefvaZ48ePnzx5/PCRw0uLB+YXFqqyTDLZLhViONf54zNCel0lUNKKULMYddqjFmY4LgAAiDpNIWWsgoCm0Kkpp5HYMS63rxL4Ve25s24RCkKX3uuSDl2mAWc96uyhGyiAKRogIcaOmk/IVUEAKdrnnHNpsQMAxEwfA1NRkRiTsKCIxFg3zcbGxrVrVy9euPjl+fOXr1zd2No+8+XZ85cuGJhj9+abb54+fWppaWllebmykomJKVoEMMyAOcuRG4ARAZsBmSKRI3IaQqhlWJUFUZhsX9+6ceH852c///DihS+uXLmwvbVBhgsLi0eOHF5aXj106Oixo8dOHD6wNEep8sp557JmNlPu7mVRo4hgxhMpeBaSnB9ABDNQB+j6M57iAWAAipp62SgYTLkLO0/8VNphFsbgjj/3U8fb631vmwR7ZKjS36mnlMufnDCpaAzdmgZgu3cy7d6KwAjBnBEwQQGQGJWWCTIIgGhDtEWvh+aiHmyb0IYYo4mYRN3Y2L58+fLly1du3Fzf2GzWtzY++fLs++14aXXl+KmTx0+eeO5bz68dPlaU88OFJTE2AaMKkInQJLZaM3okEGyBERHUopkQeUKIMVpQ5zwTqSkz2zRpB4aoBJa6UGWEgGb3zAp+mO22ZWNHgt5mpsKuEF7C6zNgcu+333dd+tp9HrPcUhpREQHZkA0z+gFTMEEV1Jh01YBJDYydsY+tGJFnwthYRy0hJlIVAzRg58FQVNQQDdG0G8W0ZOeQQy5hehzm09dqCEAd2Omzd0apeAIhlSZ1zbapn7p93S4DkOn9TcmvfT4/BGY7Wd87gVOPpGy6snAnCAFpU5wOIhEVRTHrQn9zYFJvDztemgXHBEh5scvhI0v5xUwTMwSjrqeqAEq68npiHkInbtv51jM6ZDtWyNkkwX0vnTtzW4+k5VD3dJgsXVEzrRBn1SlnhgzzqKf4PSH7osAYY4xg5pyrqnIyGV+8ePHTTz99//33Pz9zZmt7a3Fx8dSpU4ePHDl65MjRo0ePHT+WVAe858FgMCgKBGjVVAUMkNDAUt+k9Jm5q1oitnW5A0vc29vO5hQI7UbJs4/uuHP3n18tmwN3v+9tT+jizLOUg27923WE6Vv3bn+qv5c7iddhTkMUrvRFkbp3J7nq46pt89xkMtna3t7Y3Lh05eq5c19euXLlypUrX5w9+1/+y39eW1199rnnvvPGG88888zi4gFHjDmzq0mfwMgwYhSJEjEHpQzBNIa2rr1zpLJx89b5c5+9/94vP/zgN5sbV0oHw7ni+adOnD5x6vnnnl9bOVgWc2U5GA6Hc6U5arsrOSMes6hiEA3AokQVIU69o9AQc45QFHIzJenyoDsj6z0otR5M7W1TGub09bOz3+5TOah7x9kZuiNXnZkVmJILpjn+YzMHdsdusbmy3dA0pndPMlaKmtB2ytkQcVlwwSDiAQjJEfKxo4eeferkZDKp63ZrO16+sfHBJx9/9vnHG9ubn3743vvv//rd3x55+dU3vvXSG8dPP1MNFpkdEoYYFRiJvPMG2IZaNJZVpSogRkwG6rzf3Lh16cvzIOaZRcQ5nnJc04zJZxN7TU6Ve4OmD7HtiXZ246X+nr0oD/vipUfCvAQyVWJFNmIFNiCDxG0QUrE4QVNPjhwjoAAYF+qKSYADS8tHDh0qmCWKSKQs5eLNTEUQiboCjG62WL68eikj6JbUR38kv37bYwz7RXLWQ5j6Y91jSKnq5n5j1U/O4o4h2Gs4EABmipsM8faEXrdLfvPQ0e32sOOl3tmGrlNqfwnlNa/z5Wfj8WCpl3G3Evbh4OQ7Wp9zmm6zOzabWef5/vHS/b7B12+d59iV1XSWH7M+/WFZ+qx7IL0qoxQkSQWCuVCJo8Ttja0PPvjoV+/+6tNPPtvYXJ+fn3/zz3742utvHDt2bDFpCywtDRgmCm3bIAIRKYCIJoCEiGQEWbot9wHojmS6Cid7PC732RVtD7fpdsdxhtSUTtodx6E7f5md1lXjJAZgURSDweDg6ooBPPfs5OoLN67fuLGxsXH50sVf/PydM2fPXL167ctz537wgx+8+sprqyvLSXWwnzCIyI4TsVBjAAhEjKYEOCipYDrzyae/+82vP/7ovS8+/xitee65E99+8dlTJ48eWl1ZmJ9fmFsclAMAJxFEg8QWKKZ5qX08OVHRum+dU4kK2osDQU6ipAAbzo7VHsN2rxduN+lui0vfL5V372K4WV9D+yrAHRHDHj0j3smJ7ockg+dOAhMtKZGnBTdK1Do1kmYgRBMDQOSyLIrCHzhAhw6708/ht7799IWL37585dKXly5+cvbMlxe+uHb98vkLF1557XvPPPfiwcMn2bm6HiFTNRhUAyay0agNsS7RI4IjJkSVEFv54vOzP/m7v7166RIBhKZB0FSjl4bCIPeH0BwUMwJkBHrUV1ncQdzcHZmxHXfu6Uburx3yKFhhwmBKpMCGrMCaL1NDE7LoUq49qcGoKZL5ioqhH8y//t0/+dGP/u2RQ8eMNLQCnQIyAIhIiKHbFGznttBHF24Lmz6xr9Zw5y3b4ZpTJ9rWJaVw74n+r/3Ib6zdOf7a39GfiKTSZHd42hN7BPASwGwot8sKJbLM1EO33byVLh1imhXZ0lNTyD0lPUxt6uPM+hU7nJSvAi896quwdZ1xsnByL/yQgVSGJggz56nnNxkwAhKSYohRYnTel0WBhJevXHn77bd/8Yt3zpw5Uw2ql19++U++973vfOeNo8eOIru0YprZ5qQVM0o1RoAdUUygj3nY7sOdhQU7fM5HPA69q5zjdtv7sS48n/+4qx+v6bpI8huJuaomKlEitkkZDpHoyOHDa2urqoZgL3/7lXfeeefdd9/94osvbtz4b1evXv3Bn3z/9OnTi4uLABBDnNR14Rw7x0yogAiGqjGqRseFJ/7skw/e+tu/e/+9d6UdHz+6+p3XX3zt1ReOH11bWhw6wrZuQqibccvoib0jB2RoMoPctSPc9nMC+54Tfcall2hMO8Q+nYVv0xG685DNRP+/2vm1jxI39qhwj09P1+Y+Ut5TNmfGS2pdxj5d5AKqSJ4yJlRVVQmaeK/AyFJUg6PHDi4vVc89d2JrNLp07dovfv2rn//q17959+0vvvzylVe/9/0f/rvnXnhpMHBqQCgJiYsFYnCOLIKoZL18gBs3brz/3ntnPv14+cCBxfk5k9gxpNQMFNTMxMwAxEDRyMwT3Isa40NtM3hpjzS23eb02M4nQFJvfrQNE15CVWRFFmAFUsg9BtCEQIelQ9MQgpkSsZHbauXm1ricO3Dk8EGGHzkmFWLn8rCoqiRpHAQD7fYLyxt+D8Ph0d8bHi3D2ZlOADuDPU+89K/S9hvLPdPV0OGoJ5fF1B4NvJRsn7NuADuTibkew1LkGQAMTVPPRexzHzMvv4Oveb+X7v11MH0orAvoKuck312+0B67tmFGp0z5BJlZDOHMmTM/+clPrly5curUqR/86ff/9E9/8PTTz5RlFWMEUec9AtR1U9d1NagQSSSK5JeD7tXfOzvECNpd7DOH8zjwLO6lvdFewkE6Q4bYfxBS2UuHPZABjcAM1BQgtftlNmbHDIV3L7/6yqHDh55/4fl3f/Xu3/zNf/uHt/6hKqvFhQOLi4tlUYDBaDQy1RKREFWtLBnRJk2DRs650ebmf/3P//ev3377wMLgu6+++MPvv/7Sy8+urgxRag3bIUZQK32BZiBKEgi8gkRtADIDra9OTPUHs7GTJDuREQVCarKXExX7gJF7rTW23a7uLD6/rxl3dwYEzrD1uhuziXa7h1CNAeoObq3ajIKSMRE7j4aq0SxmxisyMyM5IAJQjaOwuRli4z2trc4vr8yvHlw4duLIz/7727/53cfrGxvsipMnTy2vHQohNqEJrSABMxauKDwHlaBqokXhPJFnLL2bnxt8/7tv/Ns3f8hopkkgXpGmaoRJySKRq9gC6iMOFu6OlxBQdz6afun05uOClyKhKiSwxIqkqdQIBMwIpHCoEkKISOiKUoE/+Pzc3//jz0bNxGMzLAkRiLgsy9RjWkRiFCQkIlNN/kBeHx/1XfnRstv36v6eNHGnuSUAAENNXZvu7yP5Mdjz79MI9nLK9tnbdvH4vulj2NvDjpe64E8fJe6CEB28sd20qxlGDpjmlEifZEhJkoygrKv4t5mP22XY0SHu5ys8+taHnGcGsquWSOcHdgboTBPzHBJ9QsFApPQeiZq2laaJMVy/du3s2bOHDx36X/76r3/0b948eGhNRCd1AwDOcQxBzUS0LFzhXGrT1FEvESmJufSoWHtHeUbfe8ZmvctH2u4eBt3JMt6Rb7C9huX2N2DyWVddg8TuBYhJqhyQiaJIXTeEWJZFFGFyB9fWFhcWnjp1en391k/+/icff/TRiy++eOz40eFwWCGORgyAqZIsikDdEgU09USFw1v11kfv/5as/ZPXv/fn/+6Hz5w6VpamzXZBEaExi2jmEME5M9Mg1o6FVV0XI86/kAABCIH6Dp07R8EQEBVzt759p8I9z5XpgHfKIHnI4H7bX+JtafOdjxKazmx9e36vu3nRCIom+bjNOmJhVxGGANBxlyENLiJgqtVWbUUMTNEERIjUIio4ZD559ODBg2tVNRiN6jNfXjr7+cebmzcPLC+rBpVgYM45R6VaUzcTFTIDieIdRokaWkYtmJ57+tT/+lc/9mgqwSQCGiEQdWxKAiQyJDJ11pLeoSTvEbE7semmaaU9H5698/FwaTQAGAADMCApdfklUzBFFDJRjSEKILpqAOzX3n73l7/6ebw5ARmFZtS2jRonZJ2FIwkxX5VmWSCn/y9nZ/NFO1PR/MTu1+40Ie84wLsIQnDfeOmJtl4iUu11Ku623DweS8kDsYcdLwH0vnoHlfrbUxjVo56+b22/+GFfb9NHNFLXaO3vfcB46TEw64kLPWydEnl2PAtmtaoyYdxmchVgqhoCIObGQSLLKytPPf302sG1KDAeN967waCKIpNJLaqDQTlXlW2MEjRtfVM3FAEB1XLTtJ2HssNxzFDqUa8KB4D9NpA9wNJMPVn6d59txEBMDcBM1Xqq2VQtgyG1X7DUwSiGYGyIWBblkaNHn3/++f/xT/907dq1G9evX79xAwAW5ufLogQzQhRVQogiBFBUFRlG0TbEoiwXBgePHjuysrLiCxeabYuBnAIImCCimUBM8Q/EghGCacinFbt8WC4dzsc8kz7O02W2XBF0j+t6dwZyv40jJ62m+Hxn8GYvfZE/0O6W5JpZ+maP6Lbn3M0UoEca01V25hJWEzHMWAkBDTTdZ7k9LXjGoiiNVEwkMZxFClcePXz01MmTV66tr9+6eePq9fn5FXLOEAwthogMqqYWwBgMgRAMTFQkhrYZb22EesygGhqLrUkEVIVMu8zHiSnHbN7kUa9fuiNe6u7dEzjtOPGPQzDIWAKZGZJSyi+xYsZLmOaqRsdMCGJoGovhsKh8U0+ihu2t7YsXL6yPsI3GhIPB8MDiYlVVzrGpICKzA+gaSvRZpvzJdnuk4Yk9WOujWtOzsONBArp7uGc/oyeu/5M5/dXao4CXALp8UoeSoHfaAbJq/8xzDXJN04yP2HlQ00vIYMcT0nW7x/T6SmbcIz5td+KlHoHu2GM6TzHzHK0HMAZAQEiOKbStqrJzzntTFbXRaLy9Pbpx8+bG5vbCwsLCwjwhiEjbhiiCiKo2rpsQFRCdI5xBt2ampukYiDIFes/kkt09UP9o2R8kU9P7y9bB2/18eBFJQhpM1DefNc2+ORGlridlWQFA3bRt0w4q9N6J6Wh7dOnSpVvr61VVXb169bPPPttYXz998hQzU3ZU1LFzngWDMYuaqTShjRbHm1s3blyv67Hn+UE1BJtosyVhjCreeUMHohrVjIk9opIETE48Uu6hNnMNW+pCnBsQ7RoTSJjq9oG4jQq1z1AjzsCyHmVYv5Dg/c+6uxQgIcx4ff0H3vYGd3375IZ2r+4unT5B14WZCEASWImqSXzZOSZyhIBmEms1S0rsGoI0LRbajMcbN29u3lo3Lc6d/ULNL6+uzi0ssKPQRnJYDbwnblsR09QhzRc8qIpB4UqHBYnTVsOEQYkULXa1dQnEm2WWqZLqfmS0R+Ha3+sYd+OlnaHi3a94FL7lXc1QApoBMSITEBAB5vAmgppK207ccMjOxRCacQuMMUzG463Q1jdvXvvk04/Lue2t7QmAHTx48KnTTx05cpiZm6ZNbHBE5N2RtSf2x7V+B79TlLpbyjCBpn+1PTm1s1vDLrN98Opt7/LEAB5+vJRVJmfBDXSZDOidlakH3ff5xM7F7/S+EBDQUikNTTMkM+HgHXQymM6S++XjPfqzLafpYAaxQr/qTTkMO5BKXvUy1kodfkJoAbAsS+/9eDyejMfb21vXrl07f/78iRMnHLv5+TkxqNtgYHNzQzNo23bUNIPhnPdsmip3U9dRyZANgZAIU+tinTnmPrnQtVdL0fiZ/dIA0ns+Qj3XOgoa3jut2Cz36E1NRrI7fIfMQ5L/7kfDAFQ1gSgDc8yInDJ2COCY3XDovQOAyWh0+dLFs2fPbm9t2eHD29tbVy5dHm1tM/HqyspwMCBiTKePrGmlbsKgqBYGlSvL9c2taxe/vHTlmUldK2Bb16CTwaAoCpIQJARoWnIl+gIENcQIraI5styoNQlMT2m3KS+DPXjOm0KOVcNs4ml2FLAbrjQQ+5+LKRydTS/BTFLu3s7QHezuUe8sZ5Nx3R5IKdFWd/QPm20vYwCQ1MNBO5or9PoRAACoagbmHBF1jMoIImoWDYxUPRKohRj9oGJGDW09rmlQVcSbG1tfnvty/dbG3Pyh61dvjGtbPbhx/OSJg4cPLSwcAFS1NtPokACgDYEUQgghNDG0EqPEVtpGLRIoYdwxa7EXSzeEu40SwH4PPxx2+yHmAMDMqjp7z66XPAZd/jqKSLejE0CShkmXLqIBOWZkMkRRbduIRWuGvigXfTWcX/CuKMtyMgkxBgQsy3JuOIeIbduqKJgRUWrq3KmK7+mqP7GvxtIGTTTFPKo6+2d+2u1qXdBPgrvQkff9/EdjQ394bI99LwkA0ZNGztkedrzEQISEjETZo+0VsXKgUTVVKAmYqEZVQCBODVJNzJA4lzbszCmlHpb5Y2bLpXfZfdfRPh4zrXNWTM1yv9pOlCx5azuCFImXp6agpqqIMUY1ZXYAEEIQkclk4pxbW1sbj0dfnjv37HPPHjp0iAgBgJnTwpo4e+l0h6Bg5hwnleqkdg3Zc0dV7e+hPFcw3ZNKm4BAVAEziwwRRbNh17JpFiRk6uFOPTp9wC5Jz1q8i+U2U7m4ZPeze689XTCAaHkQpnEEYgYz7b9+x41Mb05ISKhqqoII3hfMzCoxioporgoEZuccq0pdt4jgmCaj7c8/+/zWrVtFWVZVVVWDsirbtjl37ovC+0FVee+IKMbYmIkvNOpEwQmCq9BVTbArN9bPnr+wvLKwtjQoiiLElgCRnXPelIKYKoASIqtF09aQQA1IwQjATC1PB0IiRsAYYpoXAEBISISdFJOpAgIyI+QmXYhITAAgUUWkd616Hx37/wAATLtRvZPt4Y/9IYaAdDcUj2qi1mTo2q2PHWhUVUMiz05ARNXUENE5JqR0okUV1BioA2UZSBNQqvFSM8A0VbDPLgMAM6XGXIgAAqbsi1KaJlpU4vm5JTcYnv3y8nvv/n795hi1nKuW1g4ej5GuXVoPgcjKpYVVUdm4teFK77xHh1FikXLHpgRGJp6sclhDAGkJhFE5dzO1Xv/SCAEJkPE2J2z3iXi47U6ILmcPu1V21z0ws7nsmUl91MwQEFKX7QzlNbWVTWVrxERYaoiGwuTYE7sBctkq1RFqwWDoRYuy9I699wDQNA0SFkVhqmDasfMBcjPUqQPQdbb+Gr/+o2RdiSPuujMHpxERMYRgZmVZ9g9pp2rb+3JdI5C0/0JiowAAKILcVfZy3zP15FQCpFh3F2Lpl5CZoelpQAoiyX0CAFRNNyAVjfeslD071T4qseb7t4cdL30VZjt+dbcyQMKZe3Cvl933dffQb9b7m0FHMso+oP4rEuVmRswSY9u2RVH4svDexxhF5O1f/IKdK4sS6Pn5+bmkawQBmckAkhcLZkQIXaulHh0BgKiICCEx5xW2712LhGgZDxCRgmGHDdKqnahinPpBxSgiqbaKmKFLSqRPBwBJK8oDM9x3tpgRkXUHnywRJPOgqJqqIZKlXFD+amaGRA5RVWNOFmWcAAC5NS0iIqqphh5EQYyx3xqdd6pqhmYgIqFtmWhxfjCeNBcuXH3/vffeeuutTz/9NEq0znFvmqZp2o2NjaqqVLUoCjOrQyvezc8NSREQid38wiI5d+bs2X/86c/q7Vs/+rPvnDq2Uo9ria1ZREAiRiyImL0nZiIEZA0xhhhbURUzQCRCQkqQIEE7SOCJkJg40TtF1FRNhQhTaLNv3pX+TKnLnEvt6Kf9GeoRU07WPchtOVdY3uHBdEYw4aX0q48kGVLOnopBqpUHQDBV45yZgqyujF1GkYAIIPGeVFVFFAmROWUXNQ0xonOMRGnbVQWLEtsQNbi5QTUcmtrHH33yDz/753d++dvxaOK9J3KOPRpvtZPx9ng8qcfjBhmI2LuCmCSlfrEb4s6TxdzNLXUmtz1CXinFpmJ33bAffi84FejsMrQde5DZ7vUBZ5KZjwle0tQsTRUxl6tZSjAZGFAqVFQFQEDOWpiApiiJMXybH295EUBAfPhh82Nj/bbS30j9Er33KUhHRDka1G3GMI0aINxeZLHHZ+zngzw53btsB2rKlryGrIyCoKqqYAYiwIzOEXPn9z2xxxgvpQJwnZkdO/aeHi/ZDMLeuRflyXX/E+XRn2qW1rIZbAn7Lmc7DQkZWFWs4ygleENEanrp0qW/+7u/O3P27I//5x//9V/9xYm11ZF3bRAAdMyENKlrx+QLDwBRYmhDusidc845RDRnTISEYCCJP5bLHPrUmKUlQQFUsj+YMkiImPIJKeNEiBkuEPVSIWlZ6bHHVzq6U+v3+zs+QTXEqGaek6YzJX6dps0p5cqcI+Yu29CBKDMDiDPnDXtIBNnZRsSUesr0RYMQQmhbYi6890UBYJPxJITona+qwvMAAbdG2//y81/803//p3feeefjjz9SkcUDi965ovDe+9AGM+OUFmR23jvm2iAikStRVA3UwIAV6OKVKzevXfr84w+uXP7yL3/85rFjBxcOLCNaMxq3UQflArtqUofN9a2SmoUhqhqCI/JFkaAyiqhEUTUico47DJjlslS1DTHpLnpHjnNeIqWYAKccXcCUuKBdEz1LS1DvmT5QD/VuMwEB1CSGZgr+KeVfOoRnxsy+8GRTbQYwyDqTYIaooiFGZqaUqSQ0M4na425REQ2OmR1TSiuhRUVQSTxY5ys/nPOA0ownzeTKuQvnvjz///3zz9/+1XvXbo1CJHRzIqpBvZ8jGoEhgwt1ZI+Vr0pXRbJgUZEM0VByshoBTdEUTdCEQKjvcmWGXddaIDJQMdTb0caM0UMPJBQgkQtnz/nsQSd3ctfXwJnnm5l9BXvV122dqkwij2i/KScdkax/SmAIRGAM5sy8gjcDs9LM30vQ6Yn9EQwRU4rPzEIIk8lEVQ8sL6cG4wpmJjn+RAhgknY/TBwBYKZdnSFut9upfTvNZsRsvqFmYIIz2xpgJ6GRYlJoYKJKzIRADhkYAEwNCWIUFHCO7B6amHxD7LHFS9ksd17aed9u9p3tftHOd7i/Q3gMdjFI8ctU/NXH3v/Qt0CIMTKzK0tVnYzHBra8vLw92n7++Rfquv7973//6Wef/uynP339tddefvXVU6dPr6yuFFgiwtxcpaKhDZDyVJRYddmSfx9C0OQYqokJIDAyEqbSJoAuKdPlp6a1J4lhKELMzjnoeHG939nnsxLceqC2D+XPDAEyDiCa5pgAkNnSUPQRo+R2JAZT/j6glrETAnFiOGUClyEhMYcQmrZ17Iqi8M6FGEIMIlFUyrJamJ9nADHY2Ny8fu36xx9/9I8//dn58xdu3byJhG/+6Ecmcu6Lc3VdhxD6vM2gqgZV5b1PfDxkBsTxpPbEviiAaHs0Hs7NnXru9PLQ16Nbb/3DW7/+5f94+dsvfOulF5577umjh48Nhwti0DbRyB9YXnW6jWEr0T0BQESZFZH6q03NNHbcjxnCKCI471Kho6rO8O26tpgImFihMLPPAMA0p0eZL6Rfb11Mwm40w9bq6TB5yQsxNJttR3XJX6ur+CLHJKg7jwSNAAAgAElEQVQqogYqAqYGkgmtSM4zERsxINI0a2UASWUltQGNpo4t1nV97tyZ9z/84P0PP/js7NkbG9sHVg4dOf7M9Zujm7cmMcTYxrn5siqrqhwszM177w2E0SWybGKJAnRJzg4IdD6z9hEbgFTt0EummgH3TMI72YOm0X4FNkP73RXgm4pw7LwHdq7A9kh8zf3N+h6Z013GpnWABp3cB2LXKay/QU8kpB8SM7MYY6Y/gDnn5ubmEunDETu6t/7S99uFGh9//3Y/238IEJyf/rW5uVkUvigqUxVJDHg3W7nyDbfHdT5lDevMC9rzGdBnHro/e9u5e9F9bkOPwS4GXSl7hyESMS9xZfBe6Ktmabkk5lSepKmEQpTZ/dVf/uXTzzz94Ucf/cu//Pzdd9/91a9/861vvXD6qdOHDh9aWlo+efLk888+s7K6UpYldlHY/HLVICEjKCJCNjM1ZWXoUv3pqE0NIdOIGJG8T6AIsBMESWUuna9pfcEPIhMBM0LKVuuD5b3c1elBAJda12fZOu061neHDRlTpTht8jSQOeXKVJUgNW01VUjq7KYmIiJqpiFGh1Q6r2B1UxPR4sKCQ4qqddtcu3F949atq5evnP3i3JnPz1y6fOXcF2c/+fTT11977c/e/LNXXn31hWef/U//6f/55Tu/LIpiPJ60TduGlpCKoiiKAhFjjPVkokTOOZXWlYOhdw50+9YNaybf+87rP/6f/k27ef03b//sow9/+/Y//8vP//lfDh8++NK3X3zp268tLR8aDpcPLK+tra5VTIbgc0ZFRaxPXWJXdjTFw90VSEjkERHBTGIUEQMjotkZjIRMCICiGWpOBU0yZ0xA7m3O36/d9RPM0DnvFtLtDtCk7FEXNjAGADIyRSAS7TKLQEiohkw8nGdTE1EREzUVIyAjJvLEjp0zpLaetFEI0RdFNSiBqZ2MNzc3NjY2b904e/HspQ8//PCL82dvbm4o0eLy8l/+8E+/8/0frW82//Vv/t9r61+IxCANkjBb6Xl+vhoOXNNGgBhjEHRKpHmVNQDsXOGuUCkrnfaZB1BInVnQDA2QAOiuQS19FJbgWT7iHvf299/Bdbl9E3s0rdOtwLzzpq/EAGTAkBqfCwASigKyGqt5xaBISmgPlh/7xO7REAFT0biCRk1RyvMXL/zt3//91mgTEeqmjimmyak9limomJhpF5RiNkd3Ppsdt+wup/tfE9R9zMzAFPsigrRnIViKMFGKPknU0IS010srP/jBD1575bXhcOiY2bmHPjf/R7XHFS9NTW1HkVJvu5JLd0ox3f90eUzyS13rX9t7w77zMGFmAYGI9x4R68mEmRcW5onw/PnzyyvLJ04cffPNP339jTd+9Oaf/f6DD37163d///vfv/XWW3VdLy4uPvXUU0ePHTt86ODa2urigcW11bXDRw6vLK9UZeW8Sxkkh2AA0rHv0vmbrXQyNFGLKrNaeAlySBdKoU72uk88JciVHHDqWGtf6bjeNlp3r1zvk2PQKftBVqvI9DqAXH9FZKrSB2gBwCxJtDMToKEpEjrvUxpKVMGMmD2Smk0m49F4XNd1DGH95s1Lly5/efHChQsX1jfWr165duXyFRNdW1t78dsv/W//x//+7RdfevbZZ44fPea9+4//8f+6fuP6M888XVVVURZt26pKj5fUDImY0HsHwA7BYkBRT3D1xg1pm6dPnZx3x08dnP83b373/d//7qOPPzn/5bl/fOutn/70nw+sHD548Pjq2pGVldUjKwsHl4ZLS0vLy8sLiwuDwTCXrlluvRpjG2NMui8p06ZdkZekAlZiTnzLTugiyQCmCjHnmIjT4AKk5JNmtZNUwjUjkvGg7C5S4pBQMRE47AG/AQBpV8+OaM5xWRZ9JiaBKBHtCDHKCIG0Y2QSO3aeCRmQMeVmic2gDba5NRqNtsfj8bgeb2zcunr1yrVrV9fX1zdubd66vr69tXX01NHXvvPGiadOHzl+4tnnXjj97Ld+9ZsPJvV4MhkRk6q0bROa2oYDQnUIkVQ0mqEZG6BlYqRNtf76WJdN2dHpT03teLqEE+0nQZpO4f2djAdrPdq5/Sh34aU9KHnTd3jkTRNGxhSIsz6lRgBsQABJPwiAEI0ASPOPs0zo/HqP/4l1hmBISAoao5BDNbt46dL/+R/+w5mzn80tDEWlDnXUSA4BTUHVTEysSzITECrve0If/tLEr9cMTUk04ySktPUBoCa8BAiEBiBGSAvzC8tLaysrK6++/LL3zjkW0bYNzrn9qI/fFHv88dK0dekuGgPCrkdsdvOZYUHfJ83BHgOWgPWw7zZ2Y7Z9AnvJX2fHEqVu6uFwbm44ZMe31tfnFxdG48nW1oidf+qpp5577rnvf/8Hv/3tbz797LPr16+PJ/XNmzd/8c4vtjY3HdNwOFxdWz1+/PiRw0cOHDgwPz8/HA7n5ufm5+bTbV9473xRFL7wzOydd845wgJgbNCGNpW3J1c31/x0pUrQFQrPnv/eFc1aqA8aL939/YlQNeeOOmHcpOTGXc0SAmTgByAi6QnpOg9FoWZGGEJomjbEoGYxhLZpxuNx3TSqur29feP69c3Nze3t7Vvr65cvX7546dL1a9fqyWQ4HJ5+6vTJEyde+taLhw8dPn3q1CuvvvzS009PFNqmkRjH44lzbnFxsSjLalBWVVVP6smkBQDV5M6gZxY0ZiAgaZpWpWA8fuTQzYtnJxu3tq9drg7MzQ8HRw6+8Mzpkz/64fcvXLx45szZTz778vK1W198cfajjz+ToAXJ8ny5srK6tra2vLycZsLc3GAwqIqyLIuyKn1RFUWRCq+8Y8dMxNyjZeySMukUiwhYjMlhQzKgGMXMkIkgFSxxTumlL2PpGz3QuTBF7nubQFd9hV0qtDvSriDNYErY4xRbyN8fzUxjiG0tKjFqSjGFqE0d6rqp67Zum/Go3h5tTyaTzc2N6zeuX7t25erVa1vbG0RQDaq5ubkDCwe+/fJLhw8ffvU7rxw5cbwaDo2IXNm0k+3R5sbWegh1URKxtaFuQh1iHWKjFhAEQfKVhwkopR/qB1UB1DIrx3JmxVKfYVNQRAUiAzO5e7NWpIc+7TBz+Ljzzh14aec9u57/GESC0TRJq87A4zQz0hRHMyWQBP8RlMz6Hzbjh/00f1PMDEwgMTYScdyVbjgYOkfVoHrllVdOnj7BpVMQNVHQ9GPdycbcvfpul/U9IKWH/qp/8NZFH3LTFNDErSNMoWAFT867QoNcu3rtw99/KBKYqKqqrvZM9tmDvmH2SOKle7pQrO9xO7v6zvxKt2eClzsSJ32KQTM7fppxmr72dj3n3e8PM6SCHc/A227MHv2eT76D3ekwdjyhf987kzn2vqsnjltXWNAxHHdku++eFafkxnGMkZCqsgSApmkJ6eDaKhGNx3UM0Tu3tT0BgJXl5b/48Y///M//fduGre3RmS/OfvThx5cuXdzYuLU92t7a2vr0k09/99v32pCZeEVZzM/NHzlyZG1tdW44Vw0Gg8Ggqqqi8GVZDQaD4WAwNz+f5M+9c74oEqxK0Mmxc46d82oGYI4dO/bOu1Tf032Jh2TZSB2XBSDVXMUYJcbYtqlEP0aRGNN8aELbTOokcEdEIYTJeBxEoulkMl7f2Bhtj5q6nkwmm5ub6+vr6xvrk0ld1/WknpgaE/myHFTVwvz80SNH1tZWTxw/8eyzzx45cnRpcenA4oJjZwDbTdM0bd20iSFZlqVzrq7rlMtCwigaY2xDC2bMbACoQrFhJJTWk5UQS5ClgZ/3jDF4Alc4j0iFP374yLEjh7/33e9Oart89dbZ81fOX7h29crVW1ev1Fub6+ujK1duNnUTYquqZenn5ufm5ubm54erKyvLK0tFWZRlWZVlWRZF4YqyKMqy8N4xgxmAIpL3CU1xyp8W3g8GAzWLIYqK984779ixc0nvIOsl2IN3T1Pe526EFG9QJrV4UVWRGCVnU1XNLIo0TaMiUUQyXzEpKksUEZEY6rbdnEwm4+16PJ5M6mY8abe3xxvrW1ub29uj8cbG5mg8Hs4Nh8NBURbO84Gl1dNPPX30+JGjR48dPLS6urJ8YGGhGpZFVbYaoyoXBGR1bARjOfDFkNmrc4rYshNyYtYQBcKg1joqFBGAzMwIDDOqNkADMqDuBmBOt6mBCaCmH2NAY4h098Ju+6PHofdYLHYtvztieLarWK7DRQi7V2Lc+YTZt78tBHz7RvJQm4GBCYCBERrljVmBOj1xTD1ATADAVBwwmzozZ+bUvJlTuztyfmJ/JEMgxkSAcExmqiLOu9W1lY3R+qtvvPqXf/UXK4dWDTVICNKqqaEhgxFgIgqYya5Jbrtcof2uaHOGj6R/+1WaGYJ2dGXELg2bFhYycsgOXWjD7377uysXL0/GYyTra/a9984708eiNPKrsEdmPln3owgp7rCnC5vUfgUsgkUwAzTtqkX7f2dbVnb98PoyhamoZWrlAkC5hxDloHR6MiEzq0yLvmd5d7Pbc19f0jdOTeGTnLXJnXS7L7kL3tz2ztCxqwCyN0WIszGAjnuV8E3qT0ras8y6aq2OLD+z/+LO9cjyR2PmRqCYsSF3o4AGDH3VbQrZ78jFWc9ns5wGCW3wBZVVFUXG47EZrB48GEJAZvY5FRRFWtGQhOBUB/Pzr73++ssvvxJCaJrJaLR969b69evXb9y4cfPmzVs3b95aX9/a2mrb9uKlS1+cO5dGRTokkRoKOed8UcwtzA+Gw8L7whdTT7qqqkQdK4uyrIrCF77wZVGVVVWWzrskR52D33+MVeN2YA79OUdEYjKztm2buokhtKFt29C2TZJYaJp2MhnHGEOIW9tbo+3t8XjSNk2McTQebW9tKxh7Lypt2zK7QVWVZZmrm8zMbOnA0tNPP7O0tLS2unr8xInjx44dWFqaGw7LskyKfGBWsBtWFRCNJnW9Xc/PzS2UpYi1TV039Wh7pCGiKCN64pKdY5ekMgwR2SU5b2NA58D5cZDLN29t18EAGG3gMWoEEUcopm2IQRSxOnXq+KmTp9smTsaTtmnqyeTW+q3r169dv3bjxs0b6+u3xuORiKjJ5ubmjZs3YoiqEiWaqoKCgXPknE/Y2DvHTEQ0GFSDwXAwqJwvHHNVVcPhsKoq5xwRF4Uvy7IovHM+0RKsQ0q4K8LyVRsmZYauYG+PqIthFJdohDGEEEJd103bqkgqzWrbsLm5GULbtE1Tt03TNE1d103TNk3ThBBimJjUpgqAiOy8L3xVFFVSzigLOn784MLi4vLy8trBtbW11ZXV5aWlA3NzA3YuyTAU3s9Vg6IqorSiAcw8ctOOmygFwZHV5Vs3NlQViJAdsidXALMiKkIi4hkIgiAoJAlOIwCHQABi1gIGgJjrlYzTOtUBCUWSlCq7+2mwvUbvDzOb9d1w9s/8j+24mf/qw0oImNImMxEm7ABht/fMQL4pFaJLGQPuoVw0+3cWkJ9+4m3P7cPtOH3t9Gn7heX+GGYJzXcDkg4OpyVsYKAAqoAAqGARNBrExM8UhNyKEXb95DfPv8xsB4HziSf41RvmXtLpijARBUAxFbWNrY1osZwrqcAmtIKtctTUa56AHUtyHFLzkBnPptce71to3faxOyLh+ISfCQBghpoLOC25oHn7IgMwC6piQiW5yo3DuGnb7dHo1q0NE5qMJwg4tzDvCsfMuGvD6zySnj3d/7uLQvw42cOOlwiMUgk/mIJFtEDWkgUCRWA0Mku8zLRaMjEw1aBbEAk1Gqn19PWOG49ZcQkgyxUAzGhLdVcoIjGiM/BqTdMWZYnEQaOYigh5dr5oRcw60XLLvDvstv0sbeRIwKKKIycqgODZSxRVdc6ZpuK76d5rWbkt309IpIodsd+SBlw+QmQiRpR82AgIub5FNfVtTc1qxoySordqqEDafRoBEBmCAghOt5FUc00ArJC60kSiRqUAcoCqYMFYqFTnAzolB0RAqiAKioSIqc6GCBygiSKiISJzjKJqznt2GkRH45q9I3ZRYdyKpMZHjgHROaemahYBlKicG84vLiyvrh46euzZGEMIMYS2beu6rpumaZrRaLS5sbG5tbWxsbGxsbG1tVXX9Xg0mkwmTdO0IWxvbY82t1MhR+qf6zllFxwAqGrTtqbq2CXxPTVVkXR6mRgZO225O9p9hrG7nSCf3Om9HZohoqIoDKwNwSSF5qfLFSISMTsys9hGUeklBBNWL3xRVtX84oGirIrCL8wvLC0vLR1YOnBgcWFxcWF+vhoMEn703rsELAtPnFMrSXsvTcM2ipGRd8TYgKIhMqJ3AOAQK/YUTMctNrE0cpi57EqgZgpi2oo5waqlwTpV7fCAlEMFg7DlgmG4SRjBeXBlUXhSH9VUxhXoPAsuQL1YjnSwdnjhqWeOSqcd0rTNZFyPx5PJpN7e3t7c2Nzc2Fjf2treHtV1HdugqjFqjLEJ0SCqWIwRCJIqPZilxq5MjIRJEMIx44w4u2paitJppge7IyDQzISadoHKex8gGDJx0oIFVNO2baNEAmR2rnCAKG1M7Lv0Jtq12E13DgZzB4ZLg8FgPifm5obDwfzC/Pz8wvzccDAclGVZFI4ZE1p0Ll0cWYwBAMiEpcFJ66yeS0KSo7FHo2LoJhsy2mhH27FpVTGib5FrpIbdyEDJmClqFKsRhRBNnBpZ9KQloTNsDTeRtwgigqoYxjnCgogBEFENJ0YTNqb96hzuv4I00TDTMO66xjMEiQ6ADMEIlUAJBBNnLAIIojoUUku4D5AAPIBT82JsBggtQkC0fivpTjHlvD6i0p7fMX05JGBnqcAnGLQpAw3Qh94QwIFl3YSZ1hBT+Qy0+/Uu71tGyzgxnwEESYEVCJAMwVDMBEDAWjQBdGAGhqaDoHWA0DK1DIHVoRgKkAGKQVSIqNMQaar7BATushhZwscwD8AT9HRvdqfE90x1MGLHA2NfKJgCBjUuvXmd2DZpnMi2UnBDZ4htjGJQFIO6EVEt2BXEaBBFFAwIiAmZDEFNYuqcnhOqfYCim8BmAOCMnPA3vMDJEFoy7VRjZwMkBEDGGBEFCyyaso2F3bq2efb8hfff/2jAw/Wr63PV3NPfenbl+MpwceCJQACiIhGagQogAhNwJvzpjFQ5zfz7ONnDjpcAZoNtYNA3L+w02lL8DXuXEQBQEnsWumgVYJ8AAeveoZd4y73+OqdIIevNm6qiiFEURjQwRvTOWYzEgIhN08Tk4ROCWUbamvFSDo4BAEBKT6hpcsTBQFVFhYycc6lNaiIvpboD6zhvYKCgoIKpZXYq60eUrh9rEp1LPcayNgGiESVklZUMwELllZEAOHlKNJWjMlMFVALNTBgAAMrB337YUQEFQGfvsrSb9fmlvlY3KZDlszYTfUBCEhUxc4iAZAYiwt6lc6CYOCWYMoLdh0AqGhFTVECz5N1WVZUq3RP4iTEmYfG6rsfjcdu2aWRynknEzLbWN0fbWyGGpm7Go/FoPIohpic0TTNp6sl4HKMggKqGGOq6Ho8nITYxSgp32p3EFnu7z+Wh02PD7CTlO7MIeIeXyqIcDgaDaoCEBiYiADg3HC4uLg6HA+e9mRFSVVXJCZ6bm6uqqixKX3hfFK6oOKVZmIuy9M4ldOSd4+QOA8DOpCUAqEJ24RAge94KTAikAGbqMBd3UUqMmIEoiKYEI6REAGDmqZsZmgKCUUQG55EIwEDFLKIGwmgGAB4RiBAtdc0KCJERmdmz886XlUuNvJidiLZNqOu6bUPa0JsmhCDp7JtZekLTNm0IYhpFmkkznoyatg1tCG1oY9s0Tds0bdu2TRtV0EBUY0iPNymZF6MAIhMjPsDKxK68ajrm6Vda4gwgKTp476nwviwdl/MLc0zkvS+KsiwLdo6RfOELX5RVWZZFWQ6qqiqrovSlL/ygcPOFc4698+yYiJlTKoi9Ty2zMLnUZpb876Q211E6UiGdgBiCpG5loApklHWXgkrM2WjEXtcukeKJ0EwBFEEhLRlKKdAEgJguehBAgSz+p0ipg21aw0xB8sqvD7ZE1GawRLo8060+S48dnlU1TQipfwgRUCVGRHApap46eEqUtKQBIYAj6GvLDDplERBQ7M98t5PMuKSYzwMl3o1BKlzUdKagD8QTgnZSr12iCWfWs/37g+5v9yskC4Cav6hZjhfmDJvlmGaaFfkrGJpKYsdOHYNuY4cuBtpVpCazTOjY3VntiT04y5uZASpY4laKxqBthGAYAQzJgTNUiCBGJqJBowNEM1WJJqaASqgIDAYmyddQyy4XQDr/0M0MA0ClmQjwN9TS1aI575yu/jzpBYBMHPvCF6gUQVJ+zwCaNhC2EnQcJhvrG6snV5kIAJjQBCANO3GXuMc9k7mP5cg/CnjpHqzLtU+pF5b3dtDpqZvJFnZq0WCaNLsox3Jz3ZNpZocAmDGxd3Vo0NR5bw49lYq2PRoBgGcPnLV8srqtWs8Qze8AAIBmkFrQtG0rqiJKpGXlmxBCjETEQESc64QsT3Azi2BIKXsAiAhMKjizMShSAkp5c05fVrvAu4hGCQbEgIQEjCl9lKFIRogIMzO+A5pp4+p2oQ7GzVwY1o3YjvHt/+zHPt9IB9idpp76aACI5IghiV/pTB4Hk0ADA1juMJvvI8SUQstPYMeEVJblwsICAPTksT5n2DZNSjIEkdC2MUQzS4phMcambUSTbwIGoCqhDW3TRhFVAcx9aO4+D/dRa9jXumPd9T79d0AAx+R8UZZlWZRIqKoSo5pVZTkcDrxzUU2jAGHhfVmWvkiNlFwioRliFJ31tPoPTS6pifWVEPt+326aIvSO1z3alGa0kxMEMK321tRTJnnhfQzCAMBpLAi7uAagEWkkAOesHLAUWWjN5oqUo02dkc1AVSSmlrZmADHGuq6bpo5JL9sXBjqZTJqm7bqe59VAREQlhphl9BCyrsIDsxQLmLlyAKeZ6DSAhqjMHdRlTpxhQiImJk4v6FoFuzQIzOy69sGeyRGnyre8JPZxDxOLrSiyI0ztJftWSNhBBUwhlm61SmoZyX2xLuJ7D21UU2HCNPs/Db5YN/e1G5L+FZo0/roF9kF7vpnlDDtrWbsHBSBCTssjKpgSMHGC+sgmIk00YmAEQjADiRZVTQCFkAkjWkQDwgzClQzBJMnCAwB0zDykhFZzjK+LyKmgxAAGgDH/gFJ6IlJXt5b+T2HmdMMQk0Ol9y/G/VWcg9xk3EgVUtwsxQy0K0ZWUOv3nOlOgrP7yRMg9PUY7ioNQEhJIOocgG4pUCNDRPYcSUKMWQ7ICEIoXOWpQAE2BFPOoYNExTQUBCZHCJhT/d3b91UXecExwgbvt4XTo25pzF3eJ7tVtHuUjFDRRIO0bduIiPcOwIK0hS8WlhcKKnzpgDGYoloFpCqgiuyIMG1P7LLq0K5/H0t7TPDSjE1d+963713v7Jp1UAOgBwHTkiZUA7VU75NPPCN5p20T2taBEpFjFjMBK4oCmMS63vOdDzjd9gFBNUk8p5JrNY0SAZGY1XLfmHzoM5yb/jZiYrhBLyIFgMD5qPMXw/6Brn8FgBEgERmicwFCKsFSUAI0I5teNxlAdl0h+yPpPsKsc1oNoIvmQP/anT7jTLbv9j2rD4+b6UzH2M4lSqEh7SBOB7aS20oACJRjGZbJUR2PMQsfq2mmn3WSd5prMwwA5ubnCCkRGtOHYPfxKREHU2luTOTpPo+HhEnJ6+6e2f2vFNoj+RmzfJh5uFUtxggIzjkmztRBzdF97QaPk4NMhJ3MuHPODMxEux5NaXAth8Y1ISWDnE6647ecCbaD5WRv/utfGbVN0UeYnXb5HCcf3brLQ8FQAYWymFaamRC7ecJIzIBEBCiaBkYtBEVAREfsPWHBSAyIqtoOfIgDU2OmoiwRsWna0DZm0LVFRkpOapowHWKxlOp4YJazxTOxCZzd65LLa9JXKabBU0vTOU8CSn1qp5beOCvGIQJYSnVLUi9ER8yUBt6SirpY1zF2R99YIOhZTNaFTbqVtDuamQjVHl8wfaudf+P0/m6R6NoYZF/f8jKRESUQmtEDPRPdFjKNtM1E4Dp4F6fRbUBQAnRA2AXt0rKmBoqp67cCmBIAEBMioGqUDoV2OwgCEfR4M69iGSFkSiQmujSiSdYTQ4xIgmDQDQohdGTabgy7oJDl44sAAEb3CTPu9xykXaAL5FlGdF1P7TyO/cqQp0SPZO86157YH8n61CvADuA6DY9ZXqGiRGAgZpGE20kVmqZxAcGIBAhd6s2Uyq/VVMmQCA3JcR+/2PHp3UcjQEQI33S4BGjgJdfrdQvJTPdnMwkxhoARY4iA4AtPjKYSYiCkIG3d1Nk3MzQkdAyaNGMJpy7yN8UeK7zUA6XsLPS/+8dnnwuQXBBCJDNUy2lFVVRFAAIEQFFpRYjZV6U0dYwRiFrRoELOlVUlqkn7yzrUgpn/l0PCGoUNyTtTCFHUNMRYeE/sY4xN25oZpRqJriOjpTwLWEfnAM1IT3dsC91k7RMgKeuUXMSUg2FmYsIQAQQAVEERRTW5UtCRO6Yh3PRv2lQNUIE6T7XbzjrvpYvqWL9Czl48HYUk+88J/uQymM7NnQLFqWHiSwBAR6hPT5tpjDvTcCalphD6N0ykRTAQSUHxjDn/f/be9Dmu5MgTdPeI914euEkAxMH7qEOqUkkaSVUltXp6utt2Z6z3MNsva/tl9v9bs13btrHu7bHenVFruqWWqqQ6WQdZvG+CBIFEIvO9CHffDxHx8iUIAiyhWAerwkAwkfkyXrw4/ef+c3dEZBYnXCtsA78xksdAjWbhTjSSU2stZ5Avw79niJc0RArbrSqMjwqoACQhZBgZQ8YgEikKsAqgMYEdqhrnH6ty5TiogkLi2piQBkea/ZHefiSw7tXMWkxJVQDUssvTiK6YBEIcmyZJAMJgpilMp4IAACAASURBVBAB4eBfgUGYUwFlUCDwtl4qqiG3ECZ/vwCWAMioKqgASwr5AGSQCImQSUBBNVO1NqwDQR2iAhnJW1FoJxQkImVRVRxPfIrPNrh8DdsBahWBQo1XQtgJgihixiVCGEyqMcwNojVhUwvyMqa1A6DB8VMwBxFK2iJgjFXF69OukOJ4xz8BsFZEaDg3JVL1VEApcqMaP4/Nq6ZdOt5+5LKnac8RUQypswAl8ILDF4N9SUAFhKKl8RmWuoNS+yDN+pAtVwagAmgRLaIlJFEEQQ34DqyltlEJ1vN62RGKUqAUegDGsMFjhEGQNq56eWG9GaZZkCh3YDCz1qhiGJiwG4fLBCTB2nqbD5JsYFgzUMBLFvRAtMYDg1YJOeUUIURwgLQjJVtz6FAFUSAJrs1xroxRHL4rX3HResamLZ6i5ScsABERL55JQLViD0pGESF4i5rM5IRgnICqAUJEApKgC4RoYwUEjKnXJClvACFsPoAAjCFH17e6kAKxRucLjKGaR06NCohki4wsZZkVYScOSG1hrTXqeVgOc58zMBKpSunLdpajQfCsIb0KRfJjU4n6HJfnAS8ldW9jt9RaBk9SxuODmd4mDGFrFcLRLKIqBtAiAYKoOmGtyizPkYi9WGNYlEUykzOAF/Yh/gtCiApDiLVwQDFcQhQyHTvvRVUgJzIGmcuyCtyYulGiGlX2UVmDiuohJtuMx2VTXwzg2SORoSjAMCgLh28aUAOkBAgY8pyyhKNZkIiAIOGlGn/ASF6JersaL9Ua5gb7YbxTRyfczvcRINBDdFSfJlEgOt6qjtBSY6BUk4hRBxbUhCsBYvLQFCcjyNuxNkhmB4BAjkzG/ZB/NqGwIGWziooyQrpLciBRjKlhcdeZ9IWWhEN2lGgMQABVRLRFHpJIqYjz7L1TUGNsTEgjqimjjYIqJlFXVVUpoPJkx8NkaaLoPgc1jt21JCttYyRCw+Og7P+Ikc6Ooy1WG/8g4ekwVokxGlaCBhKesqJIHQ5B07qJ7h2C4llYgm3IABhUCTK1VKgIgoAGAUHEGEMhizn7siyFxRiT2ZgHFiFQzhSSE1ToAgA4oHD5NEXrc0gb/Z46HZGIghARHdwiYReDLy8AIkr0a0+Gj7gVhd8i5IPCiFLwTxEWicFZRjmqAoiNsUBDfvjoZCeo0RQZ/T41WQD2fbjYlWkKRat85B2ONDRpuwBILUlfT1RilV0WzBdamrj4sSdTVa88RBSAyP8kiIAx4Dgik2cdZK9cBV9TheBwLSpOwCOIDd46wOFxkmwYdTpRVzBqjUanhDSiiBK1bSiqCUwGWUZNY0EF8lIYMkYQBQ8a8NKBox0cdBQSkofQc9hwjUhOjyoggiSglOZF89T/AhrxXXmaUp8Re3OSw14UX8fVLqoh6hQqgWPerkoEtDYvbLuVt7wDAtPOMhRWFYzekKqqDKopp3W0hiaxL0TY0jrUFgAhof02yPB7FVLIEU20LwUnk4YtVoEQDVpAyIwpirzaKgVYjWaFQYNktDPRLtrtFqA3phKPhOCVmSmwi4MQZ8bg0lOoXL+p5XnAS7BTuK631qBdDu/v+MZIARf+QlUUQVFgQVUDahDQkJIRxKqqxLEXT4SFsZhRZgwoDHpbgIoABgkUsIYbWktyIUSCsvdBHAFVQiMsDL5WySfhAaMqN21HSR8sEBgyIYlKVDxjlCFBTWSsYThZkQyZxMzy7Jkxg+CIUdOeAAAk7jGqVKstYxTXBiQK/MREioKxkJK19JD2QmiI0LrjBFMADNHPd1r+tKaT1T0XrQ61nA+iKbguNkd7hGES2ShQDSMcoOTtqyJkDIZAbyi1BCSiAIEVjYAIpCnAe+rTkZIfajePJ5VndFYjRGsGQpwIcQKHUaMU9YQQEDUyV8DU4pYhNCbMHAoTNWFgUYFgSqXwoLSvjUgbtIc0vrUg/Tk6oJaOETDBIWgshygbBcfU+IQhOCqE81ZiWIyEh8PEjc42Eg9m4KQXUalNvqqB94mgkpRuqMLqK/Ye1CJwg8KGwWAT1gMmRxKo4dMzLaPw5QSQrN4AyX9Jw3pCjA4eyUMAKUxazxJN1RDgMFG0naKqgjGoRFjDJR/iV4aQMUQIgdGq9b4E9YILXS4AEgy0SbiNm+4oBOn4skjAbfR8EQzu6Mp634v7UF1tzceL8SP44ESyz1dqcF9rClQAWePsVAkh0uuQawAGDFtjsFIMzqYcTWMCHkQBLKiN2q6o4QvqI0BAMRriUWlSoYUoI8lIFTrTs3fMoKDogRgggt6UoJhU6vhvod0SImwgMkoIZU4HdY//AkaB04hTmkA1fIp6ARQBbMRyiqqz+vV35Ustulv6R6xp+0k8CLs3xfdUVLxyJd6pE1RjjKR0gh9/eKH/qD+RtYwEpgRIckYIbtdp7OM5FOSsaI+NHuOACoLoH0tJ9m0rCGAATYicGeJlBSkwGf9AFQRQ6e6tu0ErcevurQ8+eq/I2iGPw+T09PX120W7o8JSualWh5wcmpk9duLE1MwMBEJB2s9x7NY7tv3noTwneAnGB+TxXbMp5I2PnQILQFBCIxEaMkaRQEmBDLG11mB/sF2VpSU0xiKrASjIVN6Bc2SMtXYElSAdpNE2gQYJRZx3IZiDzQ2RFfHsnTGmleeePXuHOHIzSGpaUBFARFSKERCiIE/GQDglRBG0KApEDDwzEUERSwRE4QIRARHFGDudCEmBJPLoRVAk5PlLCUJGIRlSvz3WkU/s+qccpHEFdAJdCIggdWJKAIysH4AkniJREAWjQKyqgKgSBVpFE90/IVyKhISqyoHTA6QKGqOso6oycnh6BIjhzuqFjhComjWqlr2PZIUvKq9bgpLxUAgmQExdJCKuckieQixpRLQmOEITKhKCkjCH+KEU3cRRREWYUC1S5CwiGjCpyUG9wOPK9D2bOGZtG4Hfp5BaCMA0w402LCcwpuiOeMkgJroFBLqsIUzxChtMTQVVEQAlBDQUpc4g6KPWCwwUg8RKhCBOK6+IoGoNkclQFZUDwgBILoGq6Wz+MtN6jHIVJGpc6jJFgGhuRgSbUPDokkDZZElmOtDAABMCCNFgFNBSllMAHCHGJngUVlU1EANeQISgMm5QCxZbFQRlRSIVjFZYbQzrHjMBd/zfLGkvFU08wOh/g4IxbLVgMKHgSDZ7liVKemFXbuJkVQAUtAiqIe8fgzpRNNaaDgIFC66oGmMRM1Sn7BQ8WiAiEBZmL854byit17DooyJCmYPnIkXk2OhVQmOMFRH2Yf9LuzjWqq9awY9BnqQa9IICCCgrBvuSidrFxojsGJy9F/bBV0WMKaIQZ/4ownodrziYEyNGGmlXnhN57HkuFE9fAVBBdeqHrqzAqcG8yMCheBmUw9//y+8+ef/jti0sEoAyC4eMW4SBQqMhDkrS3D4JL1GTwPBtLZqUahCCGwduczREA0CkBRASe9nc3NweDt//6L1r16+qAAEpoyLmE21Askhtk5GHybz1izd+8T/MzkzNzgDUkgBQI554+n/8jW9+eR7wUjJUYH2SRYLZuEzeGLaYBSMCDhUEYmYRkcoN+9t+e0CeVQQJJc+h287brXarZa3tbW3dWbuuADNzc+1udyJvhWSmHIxHGplyIkHdiyJsbI4IlfdgqMhzIjMYDtbXHwyH5fTU1KFDhw2gFwEUNFHPyyqEqCrKUZY0iAZAVEM8A2EJbhqiwl4KMq6qeuvrW70eWTM5Od3utG1mkUhRPYATryiEZJBQBRUNorCEaL5KBAqBzAMQUsehCce2BG6HRLElsj0CCSaq6xXGjnAcE3ibAxCOc2hc2VA2Y8O8AJByUGmd9662JcRGotYmDRFFjIDS6MiXoQ6iJBItyIkcSYiIFOnvCiGTuKCm8D7J3Icjl5V07d5r/wt0aKknb7Ql1hThwN+OJjqWgDEhuUojEUli2yUYj5JiWiAKkCGRaKtLtoF0w2Cv2CukWVxZ8Vs6UhNAo8FJtExf0OZ3Q5DgESgFAI1gJqq7Qm1ahxmQqMSKFiclIiFTi0yjtqWeQwiRLyObKwjxARSFHESqiGSRSEGFOdSJ1lgi8R5YapmtZq+FFV3bMr4M0BRDz0GtQGmsK40pzsJG0EjDBQAAElKfxOmaeK+xD2vNvQhwJalnNGJCxkiXlNGhioAi9VIN306OCQrCISpcBG0xW55CDIa9jzIrtexJnRCtVZHfhilcAY6yQjwFRP9CFBmPVyIQo8uF/cSIUsXgBDYebTxav8tCoADsxVcTLTs7OzE52cmLTAHXHjxc39xoT3Y63U4ntyIszpNFQ6SAZEjRhOCciIRoCMnmmascM5MxCOhc9eDBo63+dtEqpicnJ7qTxlgvlfeVoiAhEjKr82JN3OgxwO5ghhVGEiSt9VHxAesJ8vg2/qwBUwBFGPAw4SgnlMa1H62dwdOJwrocl4t3LITdp9bTIKxxVLyLFeW78sSyY1OuTwYVCic2iJBhloq9KhjLwBhULg/vPrh+6drh2bn5+cOtInfeU02gNxSyhthx0ngdEy+oBMILEjRfjPbyG1wUwEfv91rnFFhGdRhBEFFhyYrs6PGjrvLAiIqk2Cpa6qFiFiPOO68I3n/20afGy+rKUZZ4ygY6DjYOqVp7mfaP52fhfN3xUsPfFZLI3WRyISJwICgBRfCDiERSi1IaN8daITFShKcQV0TIpXfD4cN7dz9+74N7l64gM5oMQLnIWnOzx06efOWV7+cTk2tXr7379lte9Xs//tGZ02fbnbYxRkG9Z88goEioIs55IsyL1tANDXpAyBBVxAD4qrxz/drH589vbD46ffaFmcnJolVYjyJiiBAghNe0WYZEooIA7FyeF0SmP+zneW5BB4NhURRFKwfSbedzL/3N3rUPP7r88UdThw6/9KMfTtj5ljFZZgWhZFYAJ0ygBlEcZzbrtNqD7QE7j4TWWpEQNdvUISZCVKo69GzS5QGrePYeVFXDkSyqQbxEwvqIraXMCPiSYrYxriMnLMQgC4XcgeNlJGsHU4IqJ/k1bcTNqpMJKIrznO4b4EHKFAWSgjVrkIHTM47m3eiO9YkdmrPndKUD67TSqdw49sffip4q8WhQlZReQaGRJYlCpLsalgCSoRjTRiHFxxtHugAQ7Xp7PWSQVhRg1DFajwcAJHpcEL4Rk3UjtF00EMvCMqZQDYmIMWTI6EhA0gh4A+MaODx82JZFgZWCHF9POIQYwA4gWZ7io5vkcgPxo6CuHAV0w0gAgnCUN7Dq+NjE41gbg/PsCo7YVs2NawRDSVVQEDGEQhhNztGqQERQqsH2CAkjIBEogvjQ0fVcIIyGifSQaQWN3TxcIAAGEVSEKLJVEUlElLnWWY3Mfwl2jqXsGO3PUGOrhLJCo0Le1RCDRaO7VGDOBjG6QQh5QtG9l+1TlPGooPWBFDoOwQESoqBlsRWTB/rDe5/+/T/82nkoMltY4qrqtuyZ00dfeunc8RMr3cn27/740W/e+v2rP/z+97738qmjS+1Wa7jdVwVFA2EBW/Klc07zoiAyomrzNqhB8MYaQHSl++TilT/88b3VlSMvv/zi2VMTrU6hTlkZwFBmjLHq/LByZHIkg2Aym0WnLy69r4woGgxU1XHYOTo6G2/ugxgO2MkYTLeB+0oCIIhkwoSVcMhwJOaChtMqTChriDiZ0Wtn3Jq4PibGpXCOtSCn8cGaF2M8EXbipbqeAz3nc1H27oSwruMC9ongroqqZEhBHbvAghdCBq6YkQGZrJocsk7WPn3q1Js/f2PhyAILp40i+VZQPN3inSDZUVP82LDZk3wBCcG+6UUBPO2Hl6IsRHmWqyj7EAXN5DYHBVEEm1XOo1fXH/xfW1t3rt4Ulehyr4HbIsFVP5C3kQiRxjeT52TJfN3xEgCMTs9GGVsIIqoUs++lXTKipWSs11pewmYdgRMLRGhyqw77GxufffjBtXfeb81ML68cBYTNteHW9Wu3rl4pEE6eOrV+586tzy4J4dmzZ3MVv9Uvhb0wMytA0WrlRV45P9zqicjMzEwOwM4BqEUYDAfbrhKRzQdrtz795MGDB9OT01sbG9UgU1VrLRUFkUERZPbM3jnnKptlVrHIisyQY7HeI2C52RM7rLJ+iBmN1sGw6q+t3fj4k5kjG6fPnsXpGe8Fsswz97f73CYqDAgPq2G5tV3ZjCanKscKavIis7aqmJ0TZrLWkAUAiTEDY4DpJICqaoRWmiICJsNL9EOJ1t7xYYoyV0IvKTNjGuDIpK1DNjSGScdObX2CND+60ZjBo6GCItLRO8qaXmNj699tUTcQ3uP2jMevPjBc2u2vWgyWaMUcF2vitY2LE2NzdAUiojEQXIDG5ICdT7Cf1FN3IxIojKBmMuhiQz7G5IAXv1TzziOEir5iGKZEiB7bGDuF6OhbI+PoFKIgXGPf1KZRp2GqIHEzR1pqQIhJOUxy54iSebAUjF8zrsRs9sGzP4kxSXhjbzX+QIgpQnXUoscn38gdcGeTAxprrJeGWqq+qF6OjW83UFkK1xCyEquoUAzPWA/cY1J2Q/lS/zxWRm+HiZViESazaaporzrqug6Mlp504qdpTmQLzxWDMpKSETWXrt3+x//yu6Kwx44try4tq+MrV69evHL5+q17P3vjh+deOP3JpZu//s273UOHlo6dPFJy7j2wAhoVZOHt/pYxptudyHIDebFdlpsP1yu/Njk3W9hsOKgQQMmy4s1bt4ui6G0NtgaDYTUUYCTyzI4ZifK8MFlLwTqv3rkeV66qCkutAhDAZqTKVVVaMgYNotkNKDW25Gcp9igABpolQDCHwQjgh11EAAAjl0DC2lBVQqrZB1EvpiN8iyGjB0AMH7tDCtitIU2UBY3bf2dletrSdGWtV6cCghpCAGX2wuCI1aAAegQTEJETI5RDdnju8IsvvXDs1HFRMEQCysIsqipIgYeOIxUZICiYpA/H6Owq3w2VAnDy+wKMJy6ACjaZMklTABA41xi37XCFYSXv2QBtP9z8p3/8/9bvrSHCcDDwg9I7VqLKla1W2xYZQdRnRKHgucFJqXwj8NLTFKxtFqP3kvY4JCRO8lVKchk/U1B1zrUMmcwqMwwHQHD8zOm//Ld/YbLs4rWr77z/3u1PP764MD850SkHfRCf2bxtDDp38+bNW7duPtrYCLdYXl09fvIEWbt+586tmzcnJibOvfhi3i5KV/V6vSuXL2d5vryykoPmVekfPXpw+9b7b79VDgZFq1g4cmRpaWlycpKZNzc21+7du3/zZm9zozMzszK/dGx1ZXZ2tm1ouL29du/+tWvXeltbVVV1O53Tp08vLS1Z9i1jLAB5b5zrr6/fuXVrOBy6ynmQxdOr88sL5aC6e+PWnes3fW+rXbSy6ZlDS0sLR46YLBPng8uHqHr2BGTQoCGt4zzEDh3Jnl9ySeqqg1SB8Hjc4TE5cE+pC57mqN0PUO1b9tbb1YDjSRc0LnpSDbT3MzRMGU9VIgqqv/B5nUmawq5G+lut6hAFEoz2MKj5eCnj09h3468xsQ6TJWPnUyFSdFd7UrP27MYdtT2TEgxf+0z5fT7emz+KIUDzkz/epb7H7z5i3yXrUUIyWA/U7q3AkYa/tt2l22iKkldXWIOsZBiUKEB/OSP1pDo0cJfJMYiCWjQ2qzyW3pOh5eXFN9/42es/ez0z+I//8Pe//d1bH3xyaWF5YfnoSuVouzRe8u2B/+zyjfWrF+amp06cPNnudtcfrJ8/f15Ef/yTH88dmr95+/5nly5d/ezS+oNHJ184OzExUfa3Jya6x48fa3Wn25PT7YlpzFoP1jcvXrwwGA463c6wGq4/2mSBk6dP/+DVHwnzndv3rly5dfP6ve2t7alJc+Lo4RPHjxxZmG63QBS8ZzRiKMQiHwfMY+B5vx34QDu0JiclABElifZDgOirppqyIQe1iWg9PfbDzN+Vr67Ue+/IZB187RxISBBBIAgUo116ASfi2an34EQ1BMTmECwLFUEIEsk6qmcRYwaUyCRAAEb133pCHkIKiwMQ4xwFEaHhpA0QpQ4FUKUdGltVVDWAaMmQxWE1dOz7g/6dO7cNQDl0SFYJ5xfnp+2MsaTRlCigqhRG/PmJuvG84KXE3qgXpyY2SI1yk3a7PloVQDjEQ3AejWHnmJ0KU54dnp8/dfKkyezADy9fbt/e7pOvCES9g6o0hOirjbX75//w9qVLl/r9fpblmxsbs4dmf/rGGydPnXSbG5ffe6/f2zw02V0+cbzs9S5++OHvfvWrE2dOLy8uWBX0bvBo/cZnF/qbjzYfPMgQV1dWB698/9xLL/V7vfffeffG9Wtrt273NjfyTufo/PLGSy+eOffC4cOHb1y+/Id//d2dO7d6g8GgqlrWrl2+/LNf/GJ6dpacQ+/Je9fr3bh//52333547x4Rza0sH145XG5u3fzs8sX3P7x/bw0ci6sqY1fOnHnh+6+csta2W2AMYwhRnbgR6axsnEhNgUhHOVawCUBHXwn28SjhH3Tvwr2Fv33LvkDmScarUQtwp51zZw1y4GN7f4Fkb0C1P2DbTec//umezVBIRMDg63SQEs9QHM2sxg+CokrMxRQD6AmABCcWiRroRqvHrXENTTA+/unjJuvHyj65iRv5iJ5l2QcI7PcU+zfwyXhp/++moYlZcTj4RiIEukfaM0JH7Wxm/TfVp3WoMtqr00+ESRHacd3pGHEagPB+Q/mFDNMTbyGsMmRWRWuIMlBy3rP3eZ7NzEwvLi2dOHmi2259dP6D7J3zjglNkRUdgbysyDMNSrh/6/Z//U//5cVzq9Pzy1l35vb9zX/65w96W72pQwsntfj1r97+53/5/Z07d43hi1duVF6F6cyZ45h1Njf7N+5sHlrw2wO33b//d//593fv3llcnBTge2sbvS33yqsPpudWUentt977w9vv37u3bilD3p6fy3/845d/+uPvnTm93Op0q8FQNYCTaFuBGh6N2Vj33HwO2sOqwBB9DkMUkqDb0ZRUINJxY5a+Oun5iGT0nKmzv8Gluc/GDTjklVYREAZRYAZmAI8aiPyiYATRAzpVFg++IichpHj0YQ0EhhjFNRmXABUx8vFGeKkiHZB8Rdrdr0shhVwhwcZIRa/FnBRBaCxQdP3d+h1UYyk3OZGlQTWouNoabN26faMcDKqBQ7LdqcnORHdiatJkGda3Cg7VCMEX8fkwNT0XeAmTY0rirzSO2uSrEdNdas0vi8JaAFohdZElW+Qmz4TdvVs3//V3/+q9u33/9vqDu5DR/NLC3KG5BzdvIoiy9971e5sP1+7n1iwcPzYzO/fxhx9cu3hhenLiyMLh2empTmauXPrs3s2bhxYO9zcfXb9y6cH1a6++9OLc5OSjmzfFOWBfAJxcXR3MzNy6cuXKR+e3t/tzc7OP7t5957/92uTZ/OLi8dMnt9bWbnx2YbDxaDgYnDl39p1//c0f//lflo8dPXX8OBDdv3vngz++3e52vvfqKyBe2D1cu/vRu+/2t3q3rl/z/e35hYUzJ4+fXF29/+DhpQ8+vPLe+52ZudOvvIosV69cLrf6vUePqmE5PTnphb33aKwxRgG998BigBBQCEVRYkSBhjZX9xI7P6+h4pmXp7L97CND72X+0WgT+Lzt+jwN2D+ihO55REQWw4GHRRPnIm6+Wq+6p0PGVIOdpNlInJdkrwiKZE1MUI1/RodvRnBY25TqNo2esxaedJdPAaDppfSEsqf49SWApZFP2BMK7o+X9sb/Y4bBxtv7fbG+EkGD2ApUD2AIKNDsn11aqaO9Q8ffTx9LvX2H3DsUQvTVDQ7J8gBgZHZ4Yjn4bN9rViuIKlsKyiZmJ8BiCZT54cNHH390nsCT0CcffcrV9vRcd256stNqWcIMISObmWwwgItXN1ePgZhMbUuouPugWnuweW9tY+iu/O6tTz67/GBpafnl7632+5vvvvfZ9rYcWQEBs/ZocPn6xrETZX/ohv3hxxfu9TY3V44eObQwR8XG2vuXz3987dOLlwmyD85/dvnKjYXDcz967dXexqN7d67eX3v0cH3T81KGRkcs6saUaCqQQrLjZzzng0EpyHKqrEopqEMdY0jidSoiGiPARgD9TJv2XflTCzZfhl1CJKUcFoyZp2vlK8ZY8srIHjyDRJJAiu4CiI3cJTWzaMcLcKB+Fz7Jt6sEmCINpkCDJJcyyyg2nVNr8SF0tbCq94VBVhEEBbXWEJHzLsRIU2XnvAZkWjttjDL+aZ1c5zkozwVeCmaMUfSw2rY4ItWEjJdKCiEteAyRJwhgDBoyICrAiqIEUA5uXPlsWA6VvYBDlMMnVhaPLXUn22gVSMBoltPM7OTq0aX+5la3056Y7M5Mdq5Ww8GjB0bl8OzM0pGFD1GvX718ePFwb2Ojd+/u1OG51RPHp4ocvVeAVqd97Ojqn/3sp0WR//5ff/cvv/711c8uXP3khOv1pLd59oev/eTNnx89fuzW9ev/9//xf96/c/fShY9ahXlw83qrsD99843vvfL9LMs//PCD//S3f/vBH9+eneqiqlbD+7dvr9+6RdZ25manlxfPvfjimz/76UR3cnt9s5sX6nmw2fNb/dnp2dWFpcn5w0eXlmYmJlxZUWZbeV4yD4ZDVcyyjIxhDpk6UQwFX4cmEaopB+0vuf3JpVaKHLjsFfdtHzAEkMyUe19yoD54Gnb8niL043lsdn4bDgqWahOWRMvByIwLAPoUfDys2VdNZZbGqkcmpmhrEGzalzSoGj3V9PR4aDarD2qx8Rm586Fx75buPxRfgn1pX7y0r5Vs79mConvMl6Zd4ckXoQhGZpSgCobc2JCyNqVTs9GS8II05QyA+tIadSftVspIqzFdUUrrJCOLE4DKvkqKA+5Mey8ZRGzluXdOKueQwGNOVBh0lb93595Hxq3fvTLcYu/9kcOTL51dWZqfIafwQAAAIABJREFUMSrgKouAAiSoCqWY9uShytHWNjO2HeZiW9sObn12/e7DjUOLC3/17//dL3/55r3797eqv33/gwtsWpB1B95sDmTImZoWGhEPS8tzb/zZmy+89NLtu2sl//2Fi9cerG9PTMw6sf2h3Huw5SQ7tLDSaRcnT8wfXjwiaLe3B6QhUGbMy930X8IkBdWp1/fq5YNtLSG+OUQIKqCsYJp4KThfhvB+QCEjU2Bp7TWRvytfjxKDeaiKKCuSoDIAg6SkBwCKpGSUEIHJVVT6EMo1JlmJUxLRKyCQBssSIlJwpoYU1knBgVbI33b7EgCQcNQ2RmtcQw6iEe5sqABHwAlBUFWBxHhxIVkWWgqRvbIsM2BFKc/yzFoiQgUWBlVq0PqepxF4PvBSCiRVRxGorUtJuFMNCcGDAq12bFIEZYUQ598755wTFbC2PT29enS13S5aM93WzKQpiqOnTlJGgY9fcdXr93q9R4Ot3t2bN7x3Wau9fvs2ViWJoHCR28WVpcPHjl67colU3GC7d/v26RdfXDyyyOXQGDR51p6cXDh8aH5utiiK2ZmZoige3r29duMmqGRFfmhubmHh8JH5eVKYX1xYu3tn88GD9bW10rvZ+UPHT504cmQRiRYW5qdnZ29d+HRj7f7U9DSAcFUaQjJtVQZUUS6HQ9Pbmpnonjx56v7te2u3717/9MI10aqqVs6dPbR0hACLPB+Ww9IBWJvZHBA9M4tmZNBaDbHEYq819P1PKvqFEPC+4FITA554wb5X7I+WDgaXUiOefP99LWT7N2Fc979LBft8P1WCdcKu9N7nG3Ic36FlBJlSsp0EmZJlcOSuoDyKirZTrB8RQMbx0thzYaJyP7l1+/bDM8dLuretEHB/aviez6i1BDKqEHba6Xa+A6Ne1VhHtAPVcHfstvv20miYtPlTa7zGNvJRzlxVVuUgTO9rFj7gob33skMwBsCzF1EytjA5ASIoAUy0zdHlQy+cOYEKE53u0tL80dXVxcXFLM8QxBJaRAOIgGTRCxjbyrKWklEEImuytsk4K2xeFN2pic7UzNlD8ydPfXjh4jUFMlmn1W4biwLAgiGy79T0xOKRhSNLK0p53p7ql2Bscejw4snTZx6tb927u/b7tz90w9LAdlmdOHFyqeh0y/523f3pQXcOou5UcOzaSwcUjlQ18PEwpudVVWCAkFwvZjSPauxoWQq7hnxnYfoGlNG2ESzGcQGziGMhjRIGKRASAgiwU++VURFiPNiUXSkieYx4CVAjcyL8hpAMAUIavW9xUQAOa2SkVazxEtbrvcZTO4ATKCggGquALOy8AwRmKavKOQ8AgKiieZ5bYykcRjHRTLBhaMPm9zyU5wQvAcRwHvXx3hTsw6hFXs8oNVOcMywi7NtENstMlpG1dnrq9Msv/vmf/XnRLrSbwURB1hQ2KwcDyEgzZOWtQe/Kle2LH7xns2zl5ImZQ4evAj/ceFh0WzY3NqPlY6uvvPbKr//u7969egVEsjw/d+L4kblZZp8TGhBxZdXf2tp4tI20ef+e296amZ5eOrKwtbHJzm08fPBo7f7sxOTdG9cH/c1WO58+NDs1PWkJtnpbDx7en5yaIMSHD9cqNywmu63JrsmNze3MypGzL73ELBcufHrn+iNfDqyhX/zZL6enZxfmDr/4wgv9peXcFrdu3vrjH//Yc05slrU7K6dPF61CCTyACAsgkUFDoIAxHXQ8r3aXf3DsRXPhwRe5Vg5a0z7S5f7KqGe+7PeBa18ER1/3fNDPU3sa5B1T4vMeUU3Zup5hse74Z8y2FVetojojtZm/Ofkar4N+TMenZioEtLfz1VNQN5+9fWl/pPH58VLjDUYUOw5+YrVPut2OFzH64Th5Ml4RdtnkyNS4f0gmtrNdTVN1jZbGpkbDApUeTev4BHvbf55mNPcqe+MlBa9DhrK0tkWklkBchb7s5njm2Oy/+8VrP3/zDUNoECe7E62i7TwPhqWyCGMmAI5BvDH+xu07671hq8v31zYebQ1YkfLO1EybqbXeK+/e79268xAU1tY3K+ah84NKvdrSw6CS0qkqgIG83SHTcl4rD2UJAHl36lDRnlxePY5YVIOy08rf+u3v3n3nU4Ctc2ePvXD2uDEFKVMcrzEWXj0r8Cn68SmpuHt2c+KEUGRkJhSXaA2qGgN8jOPoWJ4TseybXnafBUkDEgaPQb2KV3XiAY1hYGYVREWrBgAccIWewQczxyg/JMTA7gQECIQxOyGNZPMYHy/3/O2GS8EDWDjio5q/3fypj7Ga9NjMl6GEZA2CqBPvfEWGFICFEanIC48i4hEw+BIiIIJFwhCoSPUpta/fmPINxEuPSSl7kUU0SVjNb2sMsIghZ7TFajjkPCNEFhZXKcL03NzqsWNeeUuHJWHWKthLxZ5BRDwAYmbFS29jfW5hcfbw4fn5+cvnP3SP1tk5QKi8K4ri5KmTv2kVvftrVLTmVhfmF5e67c5Wv4+sMix79+5/+tEnC/MLxtgbV69x5ZZWVlaPHbtz7br3/tJnl2yW3bp248KFizcuXZmcmT568sTysaM3L1y4duXyb3/722tXrxpjbt++s7m5sXzyxOHlpbLXQ4Cpudnv/+Qn6P2Na1d7m5t379394MMPXvn+q48ebnzw7nv3796dmpw6+cKpdqf7wcef9AfDrd6Wq5yqGiKDyiISUxMhBZdaBSEEiModje4CutP/Q3f8P66b3nffeoLU/YUut30q09Ftn/T9fWs48P58UALBPhYo/SJYZLrby2bDd73BGGfusVaMIvY0GFlj2AnqtS8xRNJYxekA0GZrsEFCGDed7WeU2I/eowCJA5SubEyPHRMZx1/8iWVHi5KLVlNKfaz+miYJO64EACBA1h2euE8xN5p3iyr/eqQUgBs3IgBSMEkE11FLYqRobPSK7rzBaCbEGNMRHUEdRvEpj+N9e/6gcApUAi/RgKo6cQN1VUY60caZyXz+0GRmrC+rzBCKA+9zgxkSeM2JjKpRUZHz5z/9x//3V8vLS9eu3Vx7uD4/fyjP24BsbX77zq1/+Md/7m1tr91/8Nu33imr0guwiBccVqpgVVFYhDmzGRBVzlVl5ZgVYFiW165du3Llem9jc2Vp5dwL59Yf3Ll44Z3hkPtbZVW5PENUEmAarbXHtvbw75lLPxqzRINAyIAcY3ulY2d0jRnNix3NesJg6uOL4KAr8rvyhDJ+QowpWhAUgEEZWJRZhIUNeGZgER/0YkgAyCqszDGAZ3CVREjhMBEQMeZ2I0RUUlEKfhmJPWp3EBBwx/+7yRg7jvBv+PRQAIcYs4bvREo7zD5Y/2pqrhBNBpaAVFRYjLEKEjO8GwSnwszihVlFCIkySlVoGvymIPjN7tCvO14iUKNqQEiEREJ+BgQ1oBw8kmIEUpSU+TuIU6AiwB6QA0lvlEi0piMhIpAaAHRCDrKKyw0PVavLE1MPbX6XLIKtFETED7VdtEspexVxMZXluZk4VJCxM/P317f++Nb7rSJ/sL4Fpru9zQ83ht05nOzOzs2bqeVTm0OcmppZfumV/NDKAFtDAz6fgtYMTRza0uyf33qfqqryPL188tQPXls4/iJ15o7fXr925eoffv9hYT/eFOlOzR99+Xsnvv+DxeXllyq6W+rFC9evX7xBmWWbTS4c/9kv/3J+afnC+fPeTmatCTNxaG529uU3/2Jx/eGjhw8379//6NqdyZnZHmYPSrlx98qdW/fAGOhOzC8uHP/+q6tnXzCtzvbAeRAlY8koADtREAh7kUb/LwYZkHgriNoHzwjEmgvkDNZL7oEEPAAACEGwjeeVGDAMzCRCQGHDCwm+RUgERFQ0CFmedjqVkCKBguyw6tYYGBuvH0Nb42sTG+nidy37op0nytBNHf3OOne98Mm32Mf/B/eT4/cBXDHj2JMreQrJMR5JwaArUBt2CUbxgMM5BgCiwgaAEEBFlUOeVMsCimIUQIkUCMQoG/HEHpwRT8qAGlKjCUqQuQVUUFBBxMjItLIDL9WnYgN3oQA0s6QiqQm5Jv7kosgaKUom6l5G8kDytMGwHQW8EK6hqORDVZDGlNrdDvZ4wKLRMIASMIwdcTvPv7Qu6n5IXRF2QDCWWwAwkkojCKy3yBp9Nzq54arIQAxIFKelkmfoAwpSoVKATokOGaY8FmCHPtsUUwAICBqmHAiYPTGgIgoKoRKpoEJGGQpyWZJ40ArAJ1CWxz7EMM9MCKy131Dt8zntd8VeOggFY0nbRX/Yt1x2qCBUrbZyHcy1sY2Otx8N1u9hp1sOKzFZlhXAmhFNkM5anM74cIvtfOeHZxb/8O5n/+0//2rxyHTehsNT5fwMMG8uryz98pevoS3fefeD7f7NxcXFImcEKQx3cp4osJPb6QInLQ/UFYC5elP1jOsVMOxaMDyUwa0jS8u3ce3Tax/duHz+k/Mf9h7dXTkyee7sqaMrR6wtQLkcDoGEDO9qdB1poffcW2jf3e2pCgIAqhKqqteQAVPYiCPwiArMIICak8kQGIUJgMCEhPVxqKIhQmsPyKBngcQZ5DiPA6lYanD/zZbmvjYF00EmiGzUEBkBErBgwRhHWgZBGyujmKuCL1V1aLKKYEjkjWUw5MlUpCxgAHDkr0pKKCaDjJi4ZAvULToqMBhsE2meZQpcceUB0NqwH1NSpSXv9lQVhKlS05JjeqKavkYHNEx/1UURLdZJKWodYvPPRMaD8Q+TAsxiVmABpaIoDSgTa9ESEYPfHDzypVNA5zMv2+y3XZmZLAMNGe2jF5MqWGtYBABCqjQQ1YSKRwv2sbXX3Na/JiHJv/Z4SZVUSFNsUQ0YSTG8GeirIQQehvg5MV8WqogKI3tAJKKQRjGIvAIQc9KhCAKAmkJsS8F2F1dPvvGL+e3t+VOnN4s2gpJmRv2gqtRgBfnk4tEXXm/leTa7dDQn84M//6veg4dSORA5+oOfqvddm3Vnl/LWNFD+cP2OaAvtZGdm8ciJc8XMwjbkWuQzKyfP/fQXiy+8Mjk7s3b7jg4GncmpQysrx06cmFpcKuaOvJ5NLF24+Oj2HWDfmj88vbS4vLo6f/hwlucnfvSzX3Zmrp0/b1jIGGh3Zg4fPvO9VwBgbrV8+ee21e12D6+YiYkXXv9z9q736OGtS5fN1KGl02dXz718+/atq5980rt7r9XtvP6jfzM1v7B8dLWYmhkMh54V0KAiiCJihqRU6yVUVAGFQTywN4IAA2AhJQ+5QC5oneYMCMghURwiEgEjsRoANegwRreiYOEL+XAl0pYFNHh/+rhiEYNfGSDGJCs7j7Nxg4Y20UxNtmzKSqjBaP+nl11xRtxZ69ePf9q44IAx0fHg5qdRIrI/vQZAlGgiSFF8Qy8Ex9w4+phUTIIYOBSiwoBAoEZEAVkZMWQEVzXKVhwygxB4UA9KCAZRMQRoUVAQAcW4K5iG7qrJNEhdTgrADaQUXkf1imJxMOmo6WOOQbEzpkgLSAl90uBAMLagGgALQAACj3mpj8P+8em7C1rXlJeqxoq7irSadj0BFIhNUgBFaZk6qWPoHFRVHmEqbTxjUO4ijgRLQUXLSEKEIgQA6EX7hCXBrHIOMqFaMkwy5WC3OdsSmgIEBDJKlkmZBUWUCYk0D/E8SCEjS4JcVQY8QgXq6pQFCDYcW6gKalMkCf78I9js2f0UJXt8pgCqlUAFgiSKLOKt4R+8vNy2r68sz5w5e2yiIJLKZGgtAnhVNmJePnPE/9W/ee2Fo6vz3eOLnen/9a9fPnvy0cZwZq47fajNwGCLQ3PtbtdOz+SnTy9OTODc3NzKysr5Dy5c/OSyxSon/72zq//b//LfvXDqyPHlQ1p1/uf/8PMjSzNH5qa6mR6Zbf3Vz7//wonDP3n1xOrq6tHF1unjMzeuP3j4qDp2ZPnUsVfPnTlxbHXFUkZYeFCQCtA3UdEuT713Px1YtgwOD0HTIjH3H4MKqSdwRplAQRxywGZFzMuUZC9VBYmHD6QE6ACN0GqqCiFbemSKRo/kxBOLNs+DP8m3vKAGHYRHcCZaDFGQ1AKRQ6nUAaCHqoXUBvLsGbHK2FVaEjJZVgOOwAVJLY2WBlUXZWwN260H/asXrj28vZZTpqrbw54x0GoXlPF2NaxQ1eRBGUIaTiZKqWwpyAEBL0XvDIyRQwAiC4NU7TcdLwEymJR+HXad2HswUhQ0wyzTth96AlXV7Uf9zGTrG+t/fP8PH563yr6Tt7KsWFxYnOhOeM8MJB4U0VhLxjhXnThx/C//8t8ShdgSAkAirKKGgo5DAQCNGd01GQX162eT+rrjpScUbPZm8/3HL9Va7hgNQ9gUVQE9e1G11oBqZs3qsdWl1WVrbF7kKlAOB44rtVh02mVVCcHxMyfPvfQiAbiyVNbX//qvEVFZLICrqsLmmbXb/cGjra2bVz9667f/cuf6VczzmeWF+dVl2863XQmAE4dmXv3ZT0Q1s9Z7b6wBQFURlvWtTUQ8cmxl6dhqCF9hiIbiFJBVNwZ9RDx+7vSpF8912l0EdWVZlmXpvTH22LnTx86dzluFyexWf7sz2TGZXTy6cu61H5Rb/XarZbMsn2jPr65kRTE1Pcmi29uD0lWPtnpAqJR8abGhKgxyEYy6+3FTbq2sbgp640PzOTad3dXsu9XymE3pyyvf7E30Sy+7rdMdZICwl4YhbfC7ktQeDSBa03IEkAGi0SbVNm5x0noiBj0yxYsx0LoOGk9LH3s5umG8I2JqUo2XonkECCB6YjS7ZfyvHTfYeXZojLW8S4MeMzQ1OkcNYL1AU1j3MU3ACIXqWPU0jkshtr8OyxH0mFG0wThMo7Q5Y4apMLQytqmMbpUkmMfYldAwEY/8m77S5YjAXjxX3VY7s5n3XA7LzOavv/Hqm2+8VhRtBVOWrhyU7c4kArnKI2ieF6+//sprPzg3OzvnvGeufrz46ssvn0VjslZHwPa2Bx4IbP7+h+d/80//9dq1e8urp1bmj965dvfyJ5fVubnJTiejMyePvHz6f3LDoVXXMvzSmWVWYAUWydv5f/8Xr2VFUTFv9/vHlhZPHlsmQAKg4MkQxs9tK0DLqv0S2Hb7lzimTSV3+E9HBq40975OgtR3ZazsJirUoldatBGnBsp/Hcunts8LSKDkoWAIiBi8K0SB1Fg1va2NP/zhrd/86jduWHUnugDM4gS9zdGp9yKANnruaFC7mZRBBlJYCErzTaPuNnjhBbwkhtR+o097BZSAFve4Zk/rOZFFk7FnFC2KApUJ5fLNK1euX/LDigAskXgp8hyQqqHznlkhLzp5kbvKbWxu/s3f/M3Pf/Fmp9MJyohgvEMcqY6/QQv5G4eXahVyXIPaON1rMSiNPybfUNDG7pqEAARV5z0zdzodUfHOE1FRFNbYQTmoytIYC0QMYNodQ4Y9A2JmCclUzlXVEFwVbtMq8qEKgxrv7m2ur91fu3br+t0HaxNT3YUXzp39yY8XT58Qot5G33vOJS9ahbBsDrY6nU4pLCKIqKjee1DN8rwoCiJi9oPhNiMYS4gkGRlEL8q+GvQZFFQYDZmsKJkBOMuySpzbHqIhM9nxzI6rzOQ+o8qXxBWLakZgYaMaMnMlnkEUwKABwpHxoikU1eKKNj9rXLmzjEYnjskXsuHsVAI3uXU7b6C4+/sH3fuebEfa+f6TN4Cvdvf9Yu9eyzBRLfsYAtrRD+k9RKDR7xSXPHnw17kpEVUQGSKHDZKM7QFrJluNl0y6jBI2wEazEJSSZJ9afrBNereerM8lBEy3SwagaINCk1qokAx99X71hFs1cRQ2X43BBazraizdeDnF9RKlhRRlLhgBR5dFRmHjfK0XUiLEagN9BVvlyNKmETk95oGmSTxqNirBrL1X00i4ShaA9A1VDU5oB9cBH3hXMGTIEIiIiEFUUWAlQ+Wg9J49sypUwz57QaCiaKm43FI22fZ+qCzK5WBzI7fGUsHDvmdF5yc73axNSzPtsyuL/Qdbtz67dvPiRUKayvHEmaUfvrS6MJX5/gPKslzFcInMnU67v73typKsQQTCrBxubm73izw3xmCFhkJDgZnVh5QqYIy1hhB43NvtKymalmaUYhvvpSkUzQw6Zn+Nf+KTF9F35cstGjlWtbgVQpJKCuqhCgLCAKIoKWyMKGqkAEg8D1RRVCjQ9gUUjaJj32112+22glSunJub++lPfpIXtr/d65c9yhFI0YtVIogRDEgx5MXFmJoizJWwO9c7i9YyI4ASd4i7X/WJfaCigQ6+/5rY/RkJoEIeWI8ZISI7n1uTASp7ZS6MBVE3LDFGekFCg0CIVBSdYVVd+uzS2uaaU+8l8GohMvSA4ratMgpqvaMtX8t1/I3DS09fRodyoJWMdFWj8xWNMURERGHFeu9ZBFTLsjTGtNuFKFd+uNnbyqwtWm1XVlv9bWttq91ptVr9rT47n2dZ3moVna6vnBOemJ7OWq2JqamlY8eQaHZh/tDifN4qyrLMOx2rKiyC5MF75axVlGUFhMZYQ2TYO+cYoGKPgiIsCCazYFAFEAwQEiAQiSioIBGZTAFEGBA8aOVcWQ3JZDbPvXOeHXnXzjIFZACbWTJWVAdVKSJINssyIGQvkbGwA1SOtMdN6UejENTs6X3KSD34Xfm2lb0OnFpCi8cox7w6IfRZDBksSXIS0JDesJbtQgxTSvlnw586gkz1DcaCn+8lpj/lM2mqsKGhiWHPG65TMtKXx38jFLBjMTymVxhZcOPl2Fh1CDAeGmx0k7FW1vqOKG82K07+n5BMQDtBzi6PPXYfbAYqw/p5A3aKbKiwqaSHV0goZ+zhGgOjqimk3iiYVgxu2oBhjac7MF46uECEiurYMSNRq9X2zg+H5VBKEc1t3m61yJhy6AjBWmMMeq5c6bxnUW0VRZ5ZdijsqlIYKGzGXJmsyE4cW/kf/+Yv/+wXP9ns9R6ur3fanW673S7y2enp6YmWteSroSFCZZWSK+i2C0vq2ZM1zldVNey28na7DarCntn7qlKJVFdjrTXGGkJAzyD8hXTGAYpGdxLVGNElDXDCSYk81ZheB17K35VnUnaKvbXmQ1VYVEXDjGMBFpCYDfXxxRwSNoXE1QKKqEIqlav6g0FZVkR05szp//i//8eZ2SnPzkNFOSCBsJfggg01GS8amnCnu0xESorRwy3ZlwqS4tl20jMvKvt4be+1eghgKH4bOG8VeZ75yiEzKqCKUS3yfNjflsrNTs96ZhC1JlOBsnLs9dq163/3//z9/fUH7W671WpZE7GGqgIie1aWIJdba4G+Jg5K+5SvP15KViPE2pTa+DTSWlIgpvGvhBUQmTejJMPRH10BUIkMAmxtb6tqODuISFVbbYOIXhgI1RQbvZ7NssmJCWvzwH9DwFana8loWTHAkAwA9GUIIp1up5iasrOzU8dWCUkItny1tnYXibrdLgCU4kkEEKRT9El9juxBpBLPCEQWiUwVuScoSGLUsWPPoGrItPLc5FaFVZEAAFVEqLBIWKp6IDEtJmJrsGVQCxaprK3KsnLOqMlRkMjFvGMAwOzFkIlhORt9WOurg6ATZ3SMUlMrm2Hc5A6NFw1RNfEo/uQiAEw7Vvaut2u8s4tzyIHacHC0Jwer4uDq04M/QuxrjXYiqOmtabqMEFAj/ENQGkNt3giNqRe2AqqQsBEm8cAe1AMqKkWlIIYzzSswAis4iIFFgmNj/WPSnybCgdr4PGaOVCWWAzm9KCrH/BIJu9RWlzqZ1KjH4vqgaA2L6Slgr8Pq8Y92AUeBKpvaMGKaQG1sj2AFKNjYFbXm8SGgwRifJVa6e/jE8UC0Y6mpFWOaWgHgsExROXreP/6T/mltMWroYBJKilLyGKNPESQkM43qYQAGZEyP99UWFDRkVEUcKzn1nGe2KNq+qkDAKKOIBW9zI+CG/b6KFK1Wp2Wd9ypDqKRQ5yuH1po804y86HDwaHv7ocnyI938cGtiOJu1zi0TYlbkRDTo9fzW7azdKsgMez1SyQxVQ8nbLWBG52yeoYhBKDJ02w+F2SBmRMYQEaiqCHMpquoVkEit+cqlFgxaDwRAgeQqF63NKqijNF8KojV2Gs2j78rXoiCiKmnIJNuwXiuqgHgVr6yqHtio+IiXPIJnAAXW4MyMwiiMqigpHq8iooIAChJaSzYzVTXsb/c7Ex3KjLVSZF0nw4EbDHNwbauEABCNS+G4CdgpNCmpZSLDAXGU/QCVYECw+Y1W8iqokjtALmdBbRk/zaxDqEybCmoRKLOXyvXdNnSlPdPhTMtBBSyaowGTtWxhbN7LShpuuvWtsrfZ70OXmL0yI2BRFDazmMVTaDQWj/X0GPvha1C+/njpwCXsrqO4YqJJNxpiRIBqVVWElGU5EHnvRcRaCwDDwZCsMUXe7nbZ+0FZElHwpej1tvr9fpZlwULlWbYHfVTI89wJK6Bn3h70rc26k90iawtAq1W02u3hcIjOAWJWFIaoP9wOJNoQNzPPbZ4XAOq99yFoY2bBoDFobGaIwtMwKnsPAMYYTMKo835YDlWh1W6bzCoAGWLVyrlWq8ghZ1BQ9cIhYLghMtYQGjIsCpqU+LGgNgjtI1V2emvsfPr6TOjvyjeiNCZMEp4jxMCRDaEWq2t7RxKlR9aP5sU7fo/IILWVabQzJ47un1zqGyWjScN4Vd8h3jnkC6nbpmOXPV0v7d6GZi+MuiZ+NZqLRzdMNrHmGyODWKihAfF2eeLGhpDGRaJBqIFHBdTUVqfQFWMP/diDa6LEQODF7LhrbRisrVg6ylr6hYjJB42iAjawFAhFgD17H9zZ0VUOAL1HERFWaLWIgNmHfVvEE6oTr+wtKgijUggfSqC5JRBl9qC2lWetPEOijUfrIkW32xGuhoO+Qe20W512QYjAPOxtMldFp2vbLfZe2aMh9Q6FQVhBRRCNQaSoYgzhVBAByQHKV42vY/x1AAAgAElEQVQ4dDxnZtIHaGOJRRZm0BU0l9N35etfVEFD4B4QERUQUQwhcjXiYYEkdqRtQpJ1uR5oRCIFQEOdbqfV6SgCGez1Nh2XrU6LtVKjSjhkl3RIKdhDxEu1jJ62pUjGk0gshv+fvTdrluQ6zgR9OScit7vWXoVCbQAKKGIHAUJkkxCplsyklmRq67Hp0djML+i/021j8zz9MGYzpoWSuqnp5g4KexWIrQq17+vd783MiDjH3efhRGTmrRVigURpBm5p92ZGRsZ6wo/75+6fJ/uwIKj+ZVs3iWQSH8Qgeg8xEI/kQaoqxlBl3vWDoCknRpaqyn2GnoZhWFaFRq0kMjAC5z6PEotqWIXyxs3rv/rVm73eFKqBWbvV3vf441u2bHHsEJCJvyxizd+BPOr+kmLNrjXGTRMakLJhAayJLNUvHAHWYFgTQsGmejfUBltNGC8xd7s9ZkbmGGMQFYkK4LOMfRZjjIOq0+0q62DQDxp95vOso05jiIBsSGIoIkXQTrvNeausSjEw5EqpEsEQfe5d3ooAw6qqogQDJnJEAlBFyzJmx8CqqsGgGg6jiKoQUpbnrXa7UtFKowqphhC8871Wm9mnuWNYFGbmicj7jJkIgWhQVTFG9s55x96v9DcYyWeZc4xIIhpjNLUQpQbecXOQumlTO75qBjZeARubBe9Ijq35x1IMvFmCzf35zR+M2grGzctgsgBk0qCbaLkG40X2ALbuBx7D7TIJU915brflItT26+3r4d02fO8jeEjdYndj7vwNZCKgNJmlnm6z1iyWE7udsJENyVL7FGsoBAwQUphC0DjhiYhQBy5QrQ6kqIIigGlNktbsPqXhYXMxR+164I7AZvMDU9RR6GsyOnpHltzohDcvoZrKkcwMjAHYgAFqM89QAaTJIEqGKANY04VTMQXKJrIEa99qEwwxOTBsDMWNz6KZ3WGsJMfxpREdOKaYTDKIaz55BABQhKpxre42gOv9INSA00SE3wAABNDAyAitjgUh1umU9b1rwkq35ffZ7a8JV3a07PbwlKIpgtbnY2qqY06Ih5KHfSI0mFTRTB2Rc8yEsapiWRCCy3Ji1ipECGSVIzfVy8C5UBTlRt/nWeYcZ56ASARNY1lWEqKoz7OW90GFpTQtQ6iiRI/gFar1IVTDqZlWq9uKq6uc6FAUWt0WOUeIsRqWRcFMrbwDKhqDZyLHGiUWw6BKSI6JmZEITFURiAH4gWf6WxVMEH/dPiI9urhpDCQWR4NRicsolQQeEK39Wn53klJqsc5SGXcCsdo+UAEVsAjKAAIgYOm/IhoqoCpqBA0gAWQSOUNEAodgVVWsr6+HWLEnlzkgiCCDclhCZaStXsaGblgYGEAqXhrx4+HEYBl7RwZmNe1rjfKgEWn7q7uKX4agNX0v7r3K6M/dJAKs2YoB+syRxyoOTWPufOacEqxVG/31PiMBAjqMqJ49o7nMWS6WqfgYORSx4mGRQhFBNCoQOyJWTZ3U7nNgj5Y86v7SF5ZRE5jbpYGsJg3psfUqKhJjnucAUBaFqBKT8y0wiCIECEgSdTgsiMi5TFXBUNWInUOKEk0UkEQ1y1uGtDEsYgzeZ+12a8bPDYqhEZFzLsPl5RUzzbIMiAygrCo1Ze8VQUWaNCVDYs88StbZGAyjqaKxY++9IUjUsixFhLGe8JhYTWMIQGRACEbOMZGaViEysyGiY2QOojFWqsaJCN/SlbvLhTOwEf9DrVQmoL/xWnf+7iuftJo7nDpH3X9dq4nMNq2ZFv6zHJm7HoBNZIHee9d1xHPTmnfs+mEP6QvIF7lcX5LYhOXdGN8jy3+UiFWn7qW2lTXWWKPKAGab3Ps0kEdgcx2FGA/v+swSRmLWdGm7w1uCOx2jzcsbpyodZNItjbeWnllL2KQZNKxOE7mKzcKUSKywKbd8tNo4Fbb5pmFJTheoPherf44TzBaTScs2WlL/DEd9Yg0MEsNLOgucOEds7kKz6YYhHkytKZgefYsACQOu4alkatxtmI5Vw91G2V3cqcmr3lAAjENKZkA1U/FDjtqHRRAMTI2IkFjVpKoAzDlHzCoxVmUEaLdy73xRFKEqnPdsHiQwA5OCBlNF9BIje8feZWQIkQmZIBUGEJNnlCgECFohWCf3PmcNhcbSZzkDAZgjANBQFEHEtzJmshjMjBBMo0YkgMw7azxYVQGNBICPgLMEAHf61U18dORCNwNDx7+YXPtreRTk3tNUUsupLDXFlyC9EiDShBENTFVVVEQTqARNqkDS3vVzHyVWoarKMor2ej2XsVCMFhTMRDKs6zWodtswcZMjjtKN6lnHEmlq0t+N8kLwhNlv/2r9VsXM5P7qMc2Jd/2KAEoQZgHPxBw1UsZgCe1TypCQLQp7zjhDA4kCAKIiIEaKDOgRHTF7IFSVGGLMhIiYmYAMzTR5tL+FU/8tyKPuLxlQTb9kIxITHJUEJ7Q2ceKqamKZQyKz9NEMITknOtLCYyDcMM3zqlWMZiYiAInunwxMRQyRAD06DWoE7JiQTFVVIZohoiZbwxDIMaqqRWNgUJMgzOzQoVgsKsS60wwIcN0PQs2UHZmYad3GBhGJEs0IGFiUKCEqQXKMUNCjF4hSRVUFUHTGRmQUJVVEqgoQo2MiZDFUU4iWsSMgDVFFNUYwQAYiQiBscls2EQumvw3qqwn3g7r4wNCaBOAmjSbdErTGzUtKTxG5tiGttuzqa3+XOz1K4NlkVDVVDVYbd02QSdUAjAiJmIhiDERIgBJjFHGOAHAwHGbet1o5EpVFIZbMAiBmETGzdrvNRGVRDIfDXq8nIiEE733uMxEpyhKaCCQhRhGqwSlLbdeSQge1zGfEHKoKVFVNRLz3eZYxUQghDU4wA0IiCiIGkOc5IhbDYVEUszMzgBhjTPuqylJVsyyLImDGzAbgnZcYJUYCdM4hYQxRTRGJENPpEFEaVj7zCBhj9N5D2jtYc8UcE6tqCAEAvPcjH2kwGOR57pwTEU3IPcDt5DWpYik5IZg6YhgCpfkNVFJWkpkhprGhqVt0vSYRIGpikAVQRMJRxMvMtH64EMFAQiXMkBORL8vo84w5x4imwtyKxkVZcOqdC+CcjyrEwESqUlYlO+p0OmVZlKEigk6ni2jr6+uq2sozNNAqoGOfZaEKYOp9BmYJAzMzpJoMJnldpqqiBuY7bVOTcsgOCSyKIRCzi1E1RDPz7TYgSghEqiYIhmhRohkhOETv21OmEIoSvRGlRCpNxiszM7OZxRAQgZlUlYl9Kze1jbUVjZLnedZuSYixqlpZJqKqAojO52AmKiqqBs65LMvFoApVUmpQ0zMAIKVuGGiRWJicqqgaIpqqiIABMzM7ExHVLGvFEGIIgJjlOSFJjGZGxEaEhqhQNxgdOXSqaJBQHwSk2hVHRFStcWJNSi/VYNZlDjgpAJDKFpqSqaRXtGEVVFSZ4Ef9jQXvZS5MKqf7fg00inOZqgiAYeLnVjGJpiouERmoqWhU04AA3hOaqYmqAZCRV2RERkZGB4wCZohpHmPvMstijFElkd+FMqgI+xydByATDWomIobAnl0OYEGrdL9V1dQsQWzpQMU0pbYhAJIC2AM7//62Rev4YUOcWV/ThqK+trYRAJNKkWimSKiWTi+pmTS/jjaKAKOJaQQEfC2/TUk9tAygxldw9HCnjgA1jymgqSkoEquZgkRBYkA0MRESIVXTTeERAzUJGhx67x0yEhMQrG+sTfseOEBENRCLNcJrNahDWAeXEt4NTTu5JqC0GbgbE53+yx4tBmDA99eQdm/AyACIOHNRk8mlyQQiMwsSE8Wtyxw7jhI1qomZWCJjKqvKwPI8897HFGcgIufYO3IkpqLClBKiGlBEkxmJzDXsZ2Pg7rdwdf758qj7S2CpaLvBl2rYfuJllmbcxtjG+qOYauppiZDaGd5FURoiInOar1LPLAULEgEgNUplQAbi9MzFxHFcZ7cAGDUNoBERBAiR2KUnMIYYQwRACRJDAACHDAggtSpHQEa2aHXuQTMsNGX2Qv3RkUMCM5CoEioAICAEYCKwuk+jqhAgoavBXgFNZ4T1yib1LA6AjlxtYgg0aD3WumPCX6qdqPQRAdzI7wEFayyjSSCpNoOAqC7OhMZf+tKqDOoCBqvxJgVreJlrv4rMzESAwGc55i1mZsQowk0+EQKaiKkCQFWWjhkAnHNVWTrvvXMmWmpVhcpUp7pdURMVNcucBwSzdC2jdz7LfFkogImIiGiMmffkKYSIBAimIqGqvPeZc6YaRbKWj2bFcOiIfJZ559T7PG/FGIKqmDlofEQzQlQzFXHeOyLynhBBLYSQApUZOVWLqkTkvUNAUTGwdpabWVmWMcYszx1zlMjMAKYiqkbIRAxgzCwiiFi3k0NkZhWZ9JLGEZimjAQBIJ3huLIEJNVdEI2aWkD9eCbb1wAAiSZo1Or5dGzxNsijSGQTYJc6hBOR91xVIUjlUVtZZpDFwATOOQZQkWgKVRmYwRwYKHlPjEU5iLEyEAUYFGuEplYBGiA69iogMQCThVJiBIl5nktZCFjebhNArMoqSp5nPsuCSqwKMHOOANFijCECKqFzzjOBQjRV9g4kAIhDNY1gtT3nyBBQRTSqg25UrYZ9Nu8zT0RoGqOYaWoQHasACM45CUFVFMAstrIsb+WxqkBjGA6QyXtnKqCJawEJNITKiLI8U9UYqqqI7DxqJERCTvRPjhiRxJKaqcwqcKohqppzjpFUIwAzkYUgIbLjVEdjGonIE6gErYaIxK02MIZYF0FNzHBJg+E44IWodcNptGTCAKnVNDBEk62oaxh4U4Je0kWmZopGNW2KSYKZHlq12P37k0yM/HuL4oitLXG0m9QFqEwIRBIrMGA09ikaWeeCNnFjEkXyuYFGaQD3VNSBaGAiYmCIyIRqqKrpsWUkdmQAUVW1CfyxQ0hYr6VWlaoImOwSjFJPLgaJ9R6kVjmbaAu/GtGkEhR0nFQPzeRY/zEFqGE4UVFTTOyACan+Wh4VGQXLmwVU+yyjSlWAFGKSlBQqJqKWOg+LiWDdgsnMUvIAAoChaIxCwpJsMPbkc1eUQ1+ykBpZaRWQIoCCmBoYEmC0ZOkTIhEQwKjVOsBtmXiYHiRDY/vKS/oeVtCAHvhc387oPVoOIKn2kQQQqYZAkyGmYgqiiiQqoQgWzTtHioxsYAIGTN67BO86x0xkBlnunU+0akoEUCct1HZi8lwlmbWmCkaIzI9K+OmR95fukPuO3ybHfsKhuj9iZne+t9sWjmz9ps5009CyTf9vx68ar+K2Uo9N32/e4G2nlxDYBi5rALcUfNoUq8EaymkugNWzzMitSa0lRytPbA0a5Hm8MtQJTim5KBXhT9oMoyO+x93Aiav5JU1ipgpolBAqRDZFYABQiRqBEDQKoHVaOXXaKSxDWSYiZVWFquy026imZswuhNByLvPZ6vpaAGi3OzNTU6urq5Vq5n3yyzwiOOeZEbSqyhiC63RbnXZVVcVwWIVKs7zb7bbzPFQVGHjmrNNxzmUAleja2uqw6Dvnep1up50zgAIUZSgkSogEYCJo1mm18iwrBoMQAwA45owdmhVFoSJ5njNRFEGAUFVmdTyUVJmZkVQkVAGIZqanACDRdA6LQkIwgBgCAggRWoIcUnAxgmG708mybDgs+v2+mWVZ1m63e71eVVVVVRGza2xEa/41t+F2ctKxN3W3AXHX228pGW5Tns1oJAJAivwAdrsQqQoKIJ3efH9hMRZhupP7vIPQiQKKYoDec95mQItmVTkQM5cREsYYJQZ2lPlMVDY21lvtvNObClUYFKVHyygDkFBEQo/eq2lZKqDLs6zV6koMoRBTA3BiLKpA3jlfDCpm8lm7LPpmmOetoFQNAwCRz9G5/vo6o7U6WZAqAeEq2u52zKgcViJiMXrkTqftpztqGEIMYkrYbrdbubcYhlXIs3ar0+2vrTkHIlIMg4agzOS7JBJCQGDwvqrKFN1CojJoq91RohDFgIycavJi2dSipE4X1G63TK0qCu88MpVVyc5VEkMVveD0zFRQkiDIuVmUoBYhi+p85rgOkcQYRRTZIJVTWw0UY6rmxlGa4n2e/AfgnWNYbEKN1DXfVpe7fYG9fFFRfUBc5UH+VDrG8TNyu7MHTf1drRhHzwqOfqkAjf4eYw0jbW6pQH5svlHiZjRAVTRMZfSb1DuMAmcTKEdaPPFUjrvajaaor1QmtIiOKVlT0lbKywUbof7Jubp9prnjXn7lJ/X/S0khg9uenHqQJTTbBBRFoimZmIqZqNZ4sZqKSZzIx0tWChk2fVZEVTQxjaOlclkDU1CzRFdugkZMqfmSIxdFQQBNHTMYmCU4DgDMjADUKBk8ZPXjGJG+6ojrwwo+ML50vx8DCqhFRUzhg9Qdq47iAtS1hEaIxkTgKMucQyM01mAqFkqpygo5EV+amgyKYRVKJCB00CQKQXLDEJ2nxm0FiRZFvCfnvvaXvqCMGpGPyIcbdd+80qTS9B8bl39Ckyb2UPu3UbV2+giN+t08vUy6QZtVhN3BeHvb2MUH04NI7TONS7kTMDvyxMYbbkJfoyXY/LfmYEZfNvB+DbQ0K4ym2NGkjwBAqXh73IOuLul8gAMrgDpB6/xAmTS/x8YEJLBBjZlrSwGJEFVFRFXEZ1mn1QmhWrh588K58zdv3AgSPfOOnTt37dw5OzNDAKhmqgYCqgBApo5IzGJVDiV285aKlGUJAHmW5a1WGcLq+pp3nhGBGcGqshwOhxJDyzk0C0XRbrfLKJ6pv7Ly4cmTN2/e3L17z+P797WyliPSEG8sX7t08cKwP5idmdmzd4+f6mWO261WFAllmYiBymKIRD6VnEkEkZb37FwoyxtLS7du3ep0Olu2bMnz3ERVtddu563WxnAQqwoQPND68sp7H7zf6XYff/zxVt6CLEPEjNlnGQJIjCLCSevUaF3KYk1gLYhIURZoKDEqomvgJoRRpuWmvIQR2js2bbEeMdakT216TT6wmEhcUj5e3R2ieTWdd5AANNlIMVrUCLnlrW7Ltxzp0kr/2tVbVy9vDIp1Ity6dXrPYzu2btvCWQdFDJW9jzGEqMy+DKWR8y5r93p53gIGQVHkEIwZHWfDYugy38pb7LgqK1UsSxkOVwmR2fssixEkBATIfLc1PbW2tDQcFkCIruWcY58NN6qiCO1211E+WO/HYJ12LgoAjMwi1fraOiB5l6VLUA76N6+vXLmx5uanXAa9XnvHju2MsLS6vrLcX17eWF5a2bN769NPHVDKDNFIKcvNuf7amkPrdDq+haGqikEklxFiAkpE8cKZxbIcdLs81ev2pnpZK4tBJMYQghp4n3mmsgg3bixcvXKjN9V5bO+2VqejwIAemZB9NC4KlRhbbc7yHMGVg2FZCTMTppyuAGrOO9UoVWkk6HIDqHksVAylvrE1a/lmj7h+rnES05yw2Ceimsn7ql9NPl7ta6e3icEck8P2UKLwAAX1oD1MgGyjh2PiY/2mAblGdFU2/i/JWcIJjYqNi1g/VaMvqCGEBwMURYREdDT6XfMGxlPGeIcGgBPlP83XPGp79dXJSBlArQ824251zX99TSbIe0Y1TpOz0aZzsXqtr32n34lseuixMVYSqxQomKiIWgABE1ZlQNNoFhXAQFKKTFSNJhGlqVxKox5RUZQUYl3dZJZCRYmCXEEERMACgjjnvQdDUHN5h4EkCBiQz01VowCn3KU0edVYj2ETJscKsPoqL+OXIAiKD9Zf9xADY6Ws8rWRWpuMm7JeGYmJ1CkqeucJKJHfaLSM83bWdc4noiYi9M4TomtlDqhWTFyD+Wox5eTEGMDQeU9kJPrgbOnfoTzy/tJ9ZXIS3rzUzEC1rnV6mF3cPR5bo1yb9nv7FDmOwdhtB3i7POgAFWvIcuRDjGbB205uDLuNuBkMAIAbv3LTAU8Qd8KEtTLpbaXPOqKMGU07NuJ9nkQb7n+GD056qQ2Epq4dJ89kzLaDoJqsLUq0AAaEWAwGp0+d+sWbv/zpf//v169dc3mmIoeffPLVb37zpZdeOvz0061uj5mJkInUrAwhz3MEHBbDldW1HVu3Tvd6G8VwWBR1NiOAieadzGcZITLx8sqyqvTabWqc9nI4VIkbw+rXR4/+7//xP3529Oiz3/zmv/v3f/mD7/9g27ZtF86f+9u//eHf/vVfry0uvfzNV/7Hv/z3L77++sz0lImuluvkGMEzc7fbVZEoUgwHKjI1Nd1td4LKzRs3337rrZ/+7KevvPTyH/7RH23ZssURhSqYalEUhDgzPe2dH/b7H376yf/2n/7T7Ozsv/13/8Nrr73WabcR0U9PhxjRrKqqjbLsdDpUF7EgsWPnp7rkCaNZf1j0+wMEaLfbRBRFRtD2pkg9jggNxtZrGkc2xsEfNNqbAWGN0aZ39CAnn7GWcTBE13GuFYTW1gedbq+s1s6fOff5iVNvv33y4oWldtsh2fyW6f37dz351P6XXn52ZmYqhVJara5vtdZWl0MlPmeXdxS4LKOquKw9Oz/P0aAyUcUAClwEQNE8656/dPry5ctTU9N7H3tsZrZXVpUZMDsiNuIYsNWdU+gPq+Ayj+SV8qzXjVhi3jbkSofTc9s73bwcrLZ8iz0OBxvDcon75cx0u9XpcaarS0s//sn7f//jz3DKbd+V/97rz/75n/8ZOf/eh2///Gcfnju32t8I3/tXT2XtfG52CzOBmc+y9sxcz7UsBGCOIpGMXJ61MkekqiIxyPD//pufleX6G2+88OShA5lSjOrIAxMBM1KW5d5la6trH39y5p/e+qjXcz/416+99Mpzw2KI3O60fZZlEg1dG9EPS+UqMPtWL5NQIhMiSoxRxTnvCCVGVVEkNa3rSNWA1BKfYV2ffb+RkEaYjaLht31ppmapN6WZ1u1c6scdG2WkjVfxMHKb2rvbod4/VW3THHOv7UzMVGN1OPIGzGwUcB0lqzZvGvegTpymTdUVdWFi4y+lrd51dhgdx8hrmnxcSR9wEX7rMio/MgNMYP9kF5D0Vboc6WPzLTbJVThWQTbaXl0I97Wn9NXIRLSzZuFVU1EVUwURUzEBQzNOnWnrIYnaEELYyF9KNzYVaotJlJgSMhtTxxRMQMREzEDZRUCRtdX1xVsLnrx3mYqCQbfdQ0CJgWrUGxOXvqVCzNGjihEeqkffoyAI5h9get3XRCZDjlzfgZoX2ep8pLRU0z0BNHLkENCCSRWvXbteDcNUdwqUzl041/K5dy7Pcsd87vx0f2YthCghOOYE4u/atavdaZtaWSYOdyJE5glt9wjII+8vpfmltplxAkUbBVLrAFMK1TYBqJqHYDKD4TcTBbsrd0cTy7ntSOGOxXdb9TZ5oL90h0vTxIs2b3f0oG+eCGETythc0Pof1rOrNeX9NtrumKl3TN2apm8aldjUZdz3tyYecHp3rjypHpufIwDVobCaGCK5Tw4JHGqUn//8Zz/6r//11KlTGuMLzz8/Nzd3+vPPz31+8salS9cuX+7krae/8Y3MuaoKxWCwtrZWlmWn3Zmbns4c99rtsiiWFheDxCzPASDG4NjNzs4RwNry0vLS8uryytTc7M7duwixv77hnOt0OsPhkAyqolxaXr52/frqwsLR997b+9i+l559fvv8/MKNG2/94hcnP/1Ui2Lf/n0oQGYhhKosV5aXEYCIRHVubi7PMhBBtV7eLvr98+fOm6qo3Lx+/dSJz/fteawYDFaXlk0k8947R8youriwCKoiUhblrctXVhcWb924EcuSAFZWVlaXl80sy/NWq9VqtTLniuEwhqCAq2vrqysroapmZ2dn5+d8lrVauYrelsecvOGaN29Mn9cYeVZ392scaRjZyLe/cNNoNAQhUwOlMfP4xJqIyAoYQ0RH7FtEXBTAwU6cuviLH//qxPHzRVk+tn/r1q1blleWFpdW3zu2cPn6hZ2PbZ/ftqXol0tLi8656elpdl3numWla+sbRVHNzMwC4MrqsKxWYqVo5hjanVa73UGFsqhso/rFO59/fvLUkWeebk3v6W2Z4TYUZVHEWAyHG/3V/mD42L5927fuxWJYhOLm8mqIxdatuzaKUCyvIVCetVt+em11/db1xVbGc/NTve7Ulp37RKQyD5CZd5hVS305eX1dluDKOk7tfPz1fjbV7X5+aXD05PWrl4dBYP9SuVT5FvVaWV5VxcbSerixzozTvW63nZmRAGU+D5Yt31qJsWLGwWB4bXW5LPu3NmSnZsV6VZXVtq3b8qxtYoPh4NbKaq87peKX+3Dx2mB6ilc2tIBOX21jbVAON1RwZqa3bcdOCHF5aYkQM0chlGtrG1mWZQ6ZonPYy3MjLEIKVAKBIQhqmkcTgWEKDXFTl3kXDTCaeOu0M2ye50aZGNTlv42u0RG3TO1omzYAzsMW3jyQkvwBxraZ3rUu/PZl9zxIAzOIkJy/O/ylMc9BbW82+nYi6mZoYxC52e8o6eKuB3bb0Y2zCL8qsZER1rzB8ReNB5TS4qlepxkfYx9prItstNkvBOF8LV+m1IPyjuWpu4Km9LvUvlZTDLkZ5Day4CiVZo7vno2GAtaVriMsVyG1cVIBCaCG0BZsD7HsFzc/Ofn2W29vrK7nWSuUMYbQaXUISaOM8igM1FK7kcZ4BDCwHDT/XV6134o8OLvn/g6TKgVDVYC6OVXtVY6Kv1KNLTGSQ8foCJCMBoPB9as3NtbXL8jFwfqPJIqpEqCKbJ/fmvu8KitUY0AEPHTo4P/0l//zoUOHMp+1WjnUZa7gnKOvuon2pDzy/tKdcrcZYKL0ZpRD1BSPfwnA0h1beFCzB9z0/oFxlQfsXhMLX+M6jLIsxvTJmw907CyNEkBGJJmbfzCR/nK763Xbp9pSHpkvk3DpPUyiTbv5AlNxve069ctgFGYCAEjhW7OaAxFNRM2YiJlNdWifu98AACAASURBVG115ej773947Nj8/Pwf/vEfv/G9781MT188d/7NN988e/ZM5jPPnPtsdW39xOcnP/7049OnTy8uLOZ5/vThwy+/9NLTR46UVfXjn/7k4oULWZZtbGyI6ssvvfzGG29cvHTx2LFjH3/00aUzZ5488szv/+EfPXP48Nz0DDsWkVaeI8CwP4AoFgR8Nlxbv3Tu7PrqioRq8dbC8c+OmxpluYa4sb6WZ1kxHB49evTYsWOXLl5cXl7udLp/8Rd/8fILL3S6nWFZXr5w8ee/+MWxDz+cmZmem5+/fOkyiKpqf2Pj1InPz545s3v37ldffXXXrl1nzpx58803Jcannnpqfn7L1PS0IubOoeilCxf++49//M5bb2kVDh46dOT555966skjR44Q0eVLl46fPPXxJ5+eP3lSq/D4U0++/p3vPP/cczu2bw0A/X6fmbMsI+bmphg2970efnWRRTMiG1Q4jbN7jmbc9N8an33sSk2GmMwQEJGjgIACee+zjX75yfErRz++pKF443vf/P4fvNFqty5dunjixMnz5y+0clTTtfW102fOfPLxp4D28ksvHjhw4NatpU8+PX7r1sJje/a8/vp3rl+/8eabH5w7d2ttELIMpzsyM9s9ePDAE08cnJ+fP/H58TffOXX67LXrt8LSWvl94EMHDx0/efzU6TM3b9xcW1tfWR0+/czhN777re07dywPBsd+ffzU6TN79zy+vja4eW2RwD1xaF9vqn358rlrV654l+3ft+OVl59+9sjhqizX1/u6UTnyptBq5xnBqsLiGly9WV1bWOuXdu7q4PpSKAwEwLjdnt6CWef60vKlixfOnD5z9vQFs7Bv395nnj58YP+++fnZ5Y3io08+efedjzb6azu297Ztnb9yc5jnNAi2tD44f+7C9WvXvvXaq7t27tQoly5e+uTjT3fu2PXUU09GYzVHnLW700qtz8+cPP7ZZxfO3VhZidu3d7/33VefevJJn/cc0c2bNz54/+inn14KFfR6uGtn/uSTe48cOdztdsogjtEncnZL3GupVDqBwgpAX6A1UooI2DjpYuQCmNWcZw1sYikxbzTYLME4aEYPl0SA9qApebTPe65w1zrZu9iLm34zsaKl2z7pKaHpOPfcAEDRCBDNEGvfqMlkbY5xtNlRasBdvSCDxuNorv5o5a9QEFKsLOXkURpRTfhxHHqqyWQ3h7InztEQRiURUKN5X8vvWGw8DkdDEVJoFFOBkaiCkKKKNmm3mPwfU0QDg+RWae1KjUAUNEv6JSmdRIqoqpJorGtKPQCH3OUcTPqLa2c+Pdlf23hsz14CDEWlPiCAilDCwhEMmxyasb+kYB2oWbL+vy73PEU0UnHBUGqzL7X0bVhtEVFUYhkAEJHQgIEdeUYHap1Wd7o7m+et9fXVsgwqAqqgVg0LRjQ1R65Y76+urNQkT0wARkQhSFmWzrl2uw0AqvqIeE2Pur90N0u8SaJMRn4Tsp9oi4Y2KQ833BVAaXJma3Z22wHVi+84VgAAwvvmjz7wCKVprzKuX2oiQpN7nJw9Rmj9aBcENnHcI89r7FGNswxhpJzGm8ex3QwNt/uXqUfGYFSdelgf29g1Szx/MTKRc07MYozkHDNH1Vs3bly7ctWiHNp/4PVvfeuZp59mxL07d+3csf3KlStTvakn9h+IVfXxRx/94z/+49EPj21s9BFgbW3ts08/vXTpUlEWu3fv/uDtd37x059leSaqO3fv3rf38TOnT//dD3/4/gcfDPr9rfNzx95//7PPjn//Bz/4kz/+4927d4cYZmdm+xv9UFUqiki9+S2gOhwML128ONXrXTh7dmNldffOXWba63Q8M5q99U//9J//8/9x69ZCVZZFWZZFsXDz5h/84AevvvYaIf7wr/7q7/7hH3y7vWf37s9PnLh17Tqogmjm/cVz5375k58cfubI04ef3rVz59XLl3/1y1/mWbZt69bdO3aiqncODa5cvvLmL3729//wD1m7M9VqH33/vU8++fiZbzy78z/8hyz3v/7ww//2058tLC7Nz8yYkzfffPP6jRuLCwtvfO+7j+3Z7R1HVUKuh0hzixGbxFYzAxilMdxpkNzfdU4+vCJAakNLiapex3EqAENUQwYmwhg1aBSXs2+tLNy4dn25KPHAvj0vvHzk0JOPiWpv2m3Z1jt85HHP/Ni+PWUozp2/9u4H5zOvBw4cejqfHhbLx49fP3fussTutq033nnnw6MffMacc7dtjm+tDY+euHLm8sp6Rc8/1zt/bfnKrY2FNbXLK757df9TS76z9f/52fvHT5wtisI5HQ7LC1eXF1fK17/7quu2Pzu/+uOff7Z/763M57durAz71YnzV3odLzLcWOtvrBWnzl8upNqz71Cn3XVt1mgaoQrFRoACANtOHa8GvXhrYy661VJcrzc/zQuLawPw0U1dXuy/+ct3f/3hR4sLKzEWZVF8evrmZ2cWXv/W4Dvffu36zdX/6+9/fPbM1bzltq1M62dXTlxYfeLg9sLylQKOnbh54rPTO/ce7M7uIOBrC8O3j545tL/aseeAUh6RSuO1Aj46eeX//Js3b16/hGCg+ZlL167cWP03f2IvvPD8+urqr/7p2HvvfpDnHc9+6frGmYv905euQt5+/vnnoOUAVTVwLFDrSBCIGplB+tPkuG8GTGq9NEInxwNmFF2yBkYep+jCpDpIASWzOuJpejsJyT9X+TwoQvUFdN3IX7rHJDDe1l2XG0LAuo6q8ZdAa5fJRpq6ZmKu67mAcIyeJR8VMBGMgUHKuIAJSodmTwigAoC1R9tQ9fEDHLzfgYzVwKbrmfLrG895BNKY1tHJxp6uNzL6W0c5bOLz1/I7kYax1iZYpwAIyRAVVEzMQFTAxImAAagDqPPvzEYxKBWrPZYaOtDEmidGOoJYzUxMY6r9BRVQIh6WAUuMBn3V9Rhnd+18/fu/v33rdjTMXIYIJjoBJ9e4zIgoD8AACOxRt5AfJIYpaHY/ud9Tj0beHDRFS4pNWgAlXk9UM4kRgExNozKyQ5e6lzNynrUMrAhDbJqxMFHGPlZBQqyK8vjHn779T/80LAZ162xQrpmAPSIhakPG87W/9CXIbZGLUZ4aTODeD+cvIcRJEGsSJp8gJNr08Y5DfKCivv9BSuO7YOPa4KicafJ3DZyrNpmpUV8jvf0wGu+obgY3cpZs8wr1O2raYTSTVprGHmQg//PE7vg/JqhI+5PkIxFpepJUEVFEFm4trC0tZYhb5+ZmZ2a8c7EKjHjwwMED+/YTUeb9hatXf33s2PvvvrvR73/r299+8YUXPv/883feeefdd94x1T/7sz9bXVxcXlw4fOTIE0899eLLLz/33HMXzp378N13N9bWXnn1tX/9R3/47rtv//Cv/vpXRM9/4xu7d+9mZIkRAVyqi0LbtXPn3Px8O2udPXu2v7Fx6cLF7du2HTp48Pq1a2hgYjdv3vz5T37y63ffe/m1155/4cW5LfMnP//8Rz/6UQihPxhM93q/eustA/izP/3Tffv2nT516t2337525YqKxCpsrK+vra3HEBM9sEVZX14qfFYVJXHy6bHf7585e+att95aWFj4y//lfz2wb9/xzz794IMPfvXmL7/1rdd27d599syZ0ydPcpa/+tpre3bv/ujXv56ZnZ2emsrz3CAFBkwS/f7EOBi/SQ00xvepfjuJbX+hOz2KItY8JhPLEQ1AE+05ERIjORFYXFrZ2Fh3DN1Op91tKYYyDDu91u5sx9yWGWaemu4uLhZlFft9wSk2oLLSEGmjj6trVpZ0+fLCp8cv3ljYOHhgtjPTnp6f6k4dyKau7dg2Nz2/nbLek0+/sGP3ifVBfO6Fp5997qnezLYPPjr59rEzW2Znnz/y3Pbt86bxF2++/eY7H1juDz57ZKOElb66zuzhw0/vOxTOnrl48uTpndtmv//dbxPB0feP3rp59eyFG1dvLe3YsoXJc8aGKmUoSsny1q4nHi9NItGJs5emppZXB/357XOzc3OFnI9Iq/147uyFox+fuHxt4bE9e1995fkY5djRj0+dv1LEkHe7iyvDj05e2bd3z4svfOOxPTvPnr1w4uxSBRwpG1S4sBoW12Iwx1mHEEv1Vxfj3NZKjIycEhv51Y3i3KenPj5xYX6u89yRJ3bt3HX69KVjRz/51Xsntmx/bHV1+dPPr5w8t/jqN+f37dsdyri+tt7rufbULHBehcoIwJCSA1MrIzM12Aww3Wc2vkN53OZYNX/GwYKRh261F7MJAPrNxFRvm0d+k418sW9w4u/EEjMEQRCYALvqyj4bOZwJsEKA1Ek8XWUaMfBg7S81G60BxbsYSwZjLo6Jo5lM6ftqZJR3N+nuNN9YzcY1HhlffG7/2ll6hMQMav47VEiRJlBQQRAzrENGdUPNZC7f5i8lI1pHMErdtk9VQRTUyBAhmpZm4KgCK1Q6szNPPfvsE4eeYHScuPV1HFgFGPX4HPlLAKD/8oOThhDvzxKdknzv8WNz0bdDB5UUwEBv95cYzUBUESh1F85d7imTGCWqI8fAwQI4896baQwxdegBUULqr2+sr6yM0lSYOaUcE0GWOTMQiYjI/Kj4KY/KcdxTUFPDo5pTWw1VkWpEoKHUwqaHS12/pIiCqIhad6p9qFG/yWQfL6wV8CSsdQ+N/ACX4oF6fLJUCTfv6F6AYEqVmvjJnZPmJjP4dk/lDklpcAaogMG0BK3QIls01LojkoIpGziFCKCGZAhGdRINmrEZCAIAKCEaSoPrqJk0MOHECdW1aNYUMiMgGWIQcaJAhMQi2h8Mi8EQmdl5QiZyWZYxcb8amlqoKlX1zmWZLi+vXL92dbCx9swzR/78T//0pRdfPPfss2urK7/65ZvHPvjgB7//BoPNz829/nuvf++NN5597rkY49H33l1fWS6LYm156fTx44s3bhaDwa3r169euVIMh9NTU6EoQdUROkfsaO/+vc88feTi+fNHP3hPVM3s6eeOPHHoiY2iX2rsF4Pr165ePHc2z/y3f+/1773xxr59+8+dPXv0/fcuXbjw6dzszh07+v2Np5584g9+8P19j+87cvhwLMsfXbvKAMPBYFgMgdE5QhWLMV08AmBIBfYQQ1hZWlxbWV5dXY0hXr96RUN14+q1laWlpeXlq5cv79y+vdtqkdjilWufffjhxvJKORj2du7aMjs33ZtSscFgCGDMHpu4QGrZnCLvNfu9YWJyN4Mm+3yUQtmgdE0DdzQjTI1zmufUwNTIyAGwxiwO2nHYUwiaOSWwUtACDgSHhhlo2wE6UtENDKsmQwUzYuN2hO4waCU0HEIxtFbLd6Sl1jFsGzr2HfRTw+CH4obGFWWaT2FvLrZ6C5XIjQW/Sq2l7pYtQ0LgXg/bPWp39m3bOr9z6/TSzcPPHnj2xWfaefbusV/fWh6+9vo3v/3tl3ft3Nnr9W4uLf+X//Lz0+cuTO/YVZWxnbefOPTkN195pSoDI585e2Hbtm3f+c7vIcjywq2lhcXVFa0Kqyp1pOgIFDLnGLHX7jx18MlCw62bC2/96j3HDqQ6uPfx2dm56xdvskE5GNy8fG2w0t8+u+W733rl+298jxBysP+2cP3S2fPHP/pU0SPA4cOH/tV3v31g/+Pbtn/yzrtHxWIZIZiLwAEocitwC9T6xquRBuDWFddEhmQZwY314vri+vqw8rm/sTiIsDosq6W1wdmLt24sruV53p2dK5Q+v7AwCNxp+8zBlMs6nRlHbqO/4nL2bF4MDQRV0AjMGWA0iCpmkSg6iogG6BS9IgMqW3CGamyauhyn5hsRrWQbOhs6q5wqKYI4DblFB5EUFURTbz00AGBQUgVCrKsczDGbpZ7IIFEMwXHTmk8B6lYeTqKYGhFrFDN13oOkqvHUjY/qFjHJUWEEJDVLqTtRNITonSNkFSF2kBJ7iAHBMSGRaBSJiMCOTDVqFIlElDnfVOVQDBEBvfeqikBJr5LzMZYiAQkco3OMiBICIgFSHW0i1Khi6hwTAlhEghijAhASEMVQOgTvHACIRABgn1dVFDVEdlkOVLcb5hRHVjGLgKiAgETMDWAMyARgdZtmdgCmTSYUATjHCBhjBVZfeWEvCqYCKTuHKPE1W50hlSBMZXbO+xiDiGQ+S9orEZ0aczAJWoFDdI4QoxoZIRCpAwVQQDUmVDXECm1IUDozNofqURmNU8YmGuE4s2OM/U16kWPPG8e8nQBQR+omjMhRA+V7dar5WiZF0YTrFpCCwLWrH6UqHIgDMQ1RNWClIMSAFhCYTSwaqnKaZRRNTZrSaQAjhKRMgFTQoqXqWkZkVUUEBQ1WVVAoELnMwJkpWGwH8cPQIzfdagtTQSqgbOBMR8yshhYZDLguhQcESGyfDyP4ZYRsHwoMQnAP2sK9BzUCKEusI/wyAcQDmtU1Eim+r2aGiuZMSU0MxJQkNeemzEUykRhcIAACcki5c0Q+5FaiDMry4qUr3fYMI0kUQ5vbMjc9M91AtI/KQ/fI+0uJPB+bMgeTdJvIDMQQlWDcjqtGIREUQTBRWd8F3zQbRWK+0G3geznnt/36nt7SwwJbm8DPB3o2E78a/W3yN/5ZYhPvEAwUSdHUUMEYtCQThgggBIAGImBABmz1+iB16ogZAgpgtFTsAAqASAIkiALQNIUGl25OExOzzedthoDMZhZECImYTU1EgGjL1h1TM3OD8vSV6zeuXr25d8/ebre3uLj87rvvnzj++VSv+/3vf78sy7IsWq3Wwf37njiwf3Zmese2rdu3bO20W7EqNQZi7vU6O7Zv27d3785t2y5fuby2umIIzrsQqlvXrnqiF198ceeuXVvm5hJzaVUOmR0RMAGBbdsyf/jI4eWlxWMfvHfrxo29hw7+yb/5092793xy4hMzVQfDYlgMh51Oe+eOHdu3bt06N9ffuqXXbi/qrWo4rIoCVGemp7ZtmZ+bnZFQTXfaWlWZcwxmMWpVSVm2syxnGmyso4FnRtNQFlpV3jk0lSpqCCjSX11dEPFMTx06ZEQ7tm3bMjf70nPPry2vX7hwQVVPfXr8ypXLy7cW5qamD+7bv33njtx5NUVuGHBSzUDq4z0i4FIyqxP2agLKzWUSKbfZTMAaKtME2xkSkFpqgkEOAbFqi/bCYEq0jJmT5C9F4KGDIaphUApAFnIqZzrSbWOQcG1x7drC4AmcavW6S4uLJ45fPXP6bLvVeu3VV7rdjmInmg+aGU6Z6wl1IrsCoW9u7rFDL7xelT4vQiUaheDCrbXFW9cvLyxVSFt27ZrZNp9NedchzAy8glclAcTOVGt6rtebnZqZnm9P9QSgCBIqtWie3fzs7PT01PrKKqPmDPMzvW6nVQw2MsegLgafu3bGOQCCIoFlmXPMmXPbZucp98Xa4NOPjmuML7/47L7de5i4zZQjcJA4GFKE2anO3m1bts/MiITZVj7leRiDbPQta3Va2Y4d26anei7L9j6+rzvVLYoCXYuzrlJWGVeQbURA4AJ8RViwH7ps6NyAMfe+8p0KYmVcqRuU6NYr5/PDh5/Yt39/Z3pmbm7mGy+9sDIsVtaGK4VcX1isirXpDr7ywnNPPL6PDZ2oN/GiRlChRTQPlik6gSpINCfMgbliAiCnlCkyoDBUznwQBwIA3oAM1KBEUZaht6G30qmwkIVMQm7BQTTDYGSAiqMog5IJKqERGaoZoJoaIhBhnfNpWjdfTuS3ZioRDQiQlNBAFTFYlmZ7MEjM7E3E0xBVUU2k4UhEdhANOWdkkaDJlCfHiCGWQY1YVTXESGzkGJwRRoWgpgKhJgJXJABH7AEV1BQFyMgDesAIJEgmKVMVMKgiGCMBEiIxezOBGBDReYwhBCnRO079f0UcqicjUxMhjcQO0SEpIAGzOqeKEdRMQMAjsBmIGFhANodAZFGjWkp7NjO1SkVTii6agAmhOUK0aCKsgqYEyHmrUAFE8sSIIjHGihBdKkpA5dQbV9S0ClUEVUdEoCEERGZCRjK2SmLQgtCcc2ogUZDaDB1GZ2IAdYd4NCUrzQZkJZuxZKw5KZNxU9TFaEzGUCc1Kk7MxZaw1TRT1UmJqXwFEFHV4A5/Cb52lr6wGFrFJgYIkqKgBGoaJQwYlEFMqghWYuXQkFGDMXgPAqJowIgsiNIAbySJYwAw+R+I6oJBNFRgJs/oVBK+qsHKEgZiSKwBOFoEkxnFbFC5IlLUknQdQ8WWW8xiJBBu2H4LJAUmIweMhobRIDwM2m5fQsxWH85fag7kfoJ3oukTv4tDFybSYptkkoniVEOr7wwZIqIRUG0QGBkCITgTEI3Kwkxo6JBKCgMYDrmSjDbK6sKFK97aDrmqKnL4xFM8NT1NnptU5EdCHn1/CWA8YO9yV+9yHa3xnDY5RTW+lVYZkUDg3TexaWubE0Q27+h3I7/Zjr68wxvZzlCDu01mTJ1OP9pjXdtUR6zGXuxkhkWz6C6HZ7e9w4n3IiqqRETIABZjRATnXCvPrdWWKNt37TLmjz7+pPVXf1MMh4cOHvro40/+7od/9+sPP3x8775vfvO1qanpbm9KAc6cPfvRR78uQ3Xm9Nmr164R846du7q9KXQu8SMTMTsHgMSMzk/1pg49+eQrL7989vQZdG7/gQMzs7MAKKrsHDOLWhViFDXA+S1bd+zeBcRlf8Ox23/wIBGZmWPXm5qa37K13e7cunHzk48/3rFj52Aw/PDYsRs3b05Pzzy+b/+W+TlGvHjxwqlTp8qyOnv27Nlz5xQAmFrtdqvVKofFufMXrly71ul0T3x+cm1tPc9zBfA+Q1UimpqaZnaECKaHn3nm0MGDi4uLly9fRqKZ2dmiLGMI27dt275jx8zs3KnTpy5cuHD2zNnjj5146ZVXdu7eleVZFQMxK0BDTwaJS7rpDFOXwo5Qpns+P7bp2YHRDa2VbTNoTMmUDMkYLRmrQGxkJhIZkRBBhTHMzXT2Pjb3+dmrFy9e+8XPPui0e7OznfMXrrz91q8//uj4ljl/4PFdc4efbLWyEG3h1vLlSxd709NXr14ZbKyahKJY3+gvOe/27dvXm87ZYZa5Gzdv/f0PT587vbRr6/Tg/2XvzZ/kuJI0MT/ei8ir7rtQhRsgCJ7g1WRfM907szu7sybT2u5KWpNJ/9qafpGZ9JtkJsk0spnZWc3scLqHzat5gAAB4i7UhboyMyLec3f98CKyEgTZzR5QtuxZPivAqjIjIyLjXf65f/75K5dj2ctILA52Nu/vPpydm5vKMEKs7t++fev6dBge3hZ7cPvWRBuX56Zne+0HTChKUuQkfR1q2acoHgSl0GqIsXAWPRhZZFMiIETTKLEkiSQht2pxbnawOPuLELSMq7NTawvTB/sHuUmu0mGd6WUtsP2t3RufXj+7ulhVg43bt6uj4Wyvs740fVBiGIQHdzY/v/pZf3+rKsPwqHSOWmwZCpsO+8P7d+7NTU0gwt7OQw8xd8AojOIIWhlN9fJBp8UKC9OTL146vX5i5c6tuyyytjjVdhqLQ9J4am35+YmeSLj28dUP37+/dSfev3OfXn12InesJcQq1WVLElU1tbehQY88918aKKP8pcQqq7MHGgd/U4InpbYpWYJIWAcXRiUeUoJ4CgIRoEEIJZhFRWZi54EoxigaEZGACAkMimKY+8w5rxLYewcuFgN0yWAnIDKVsiiiqfOenRcwU3HsYqxU2bEjNJPAGWcZhxAAKM8yhyhBQhWIkT1nnlWrWCkxGCghEjkTBUIEkBhTVbdQVZlzyedAAKGsANUzE4NqZSrEzEQxCJBmWYuMpBID8+zBNIaoppaqqqmpIBJmzjlQi0FCZapMBCZmRohAKDFEAXIOEKUaIphjYFRrEkPIxEwYlGq8KRpjCigl3fIEgTyRxMrAmBkEJEZzQs65Os9BUkEpGKmdAyAjETn2VVUNhkd5nrdb7aoqY1Wy8549JKMVER0BiWoIlUQBl2WpSHmdZaZJ1zjlLsWkQD02oI4HG46tOo9Tzb9RexIvfd++eUPAxNiyUdekqmxGBpRYJZZIJNYknAMAGAKm0jyqpqJioigGI1YeRiM2iY0aTPLlaSqjiiYmChIBCCJCFBMAdYCsjRofQAQVsihKEJ1JMmTMQIw1WecGaFRXSX5KvPSUad5jNcieoj3VGVKl2nQeG53t6+IAT6TAEDAaiJqZGCnUxVgUDSsLEQQcknMiGqqgqFUZUUxrY+9JUbP/nO33Ay/9rm38ASOOabuNv1+7xYG+Ui/8a872X2qrHbpJRgaTO8aeOGQ0m9COPwUwAq8Ix5FVO97UjlMQvuKUj72AzRlqbweAIZFjbLfbL1+58nBz84N33/uz/+fPbt+5c+bk+icfffzgwUa327l06Zml5aXOZOfchYsffvTRr97/4OCwf/GZi/fu3r93/+78wuLrP3hzYWm5DLEKUY0MSQF7k1PnLlycW/jlo0eP7m9szN+58+5779/fuN+bmhqWlViqg5qHEAZFeTgcBoOjosxbneW1tc7UFDjfm5w+d/7C7bt3yrISdga4srr64ssvvfurd//iL/7y4db2zMzM1aufRbNXX7ryg7fe6rTbH7z3/tt/9/a///f/0/kLF7a2t3/90SfDKpZlcFm2sLycd3sffPLx//y//K8XL1785Tu/Ojg4XFhaUqNKpAgxYInOL6+uXnjm0vbO7p1797u93mefXbt+48by0nLWag/K6uNPP33v3Q/avd6ly88hUd5pO+/ydtvnGWe+KooQJWMeiaeMuxlSyjWNBPYNauto7MhvkslkgEZpDSYFFGADUkA1hCadLtUT9ASMFKRSiFMTvecun9vZK//m7c/e+cW7Wxt3pqdbjx4NtncOwWR1eXZ+Nuu2dKpLU12+fv3uX/3lXz148PnDrUcbdzbQPEN/d/P6tau3Nx7uLC7MdDrZ7MxUF0MbLW/zy55B5wAAIABJREFUwgRPZZHK/TaE8qB/7YNPfSiev3xmZbp1anHi7rXrf3O0OzUzeXR49PD+xnPnT7z0zPpcjykMrSp0sNvSQRsKr0MKlRVHLSzAC4Yjp4M2lVAdOus4IFAry+HR4W7Z34dySNX+0tR6uTjVQasM1uZ6J+baerTLVaX9w66rnj2zeu/63Ee/vvbXf/E3w4MdkPLaZ3da7J599uSV58/d2TjoEXz4y3f2N+4sL/WODnY3bz84dWqJy4MsTq5MZVmofvEf/rbYecAsd+899NXRBAcc7GD/UR6HOIC29S+cmF1fmHZhONzd7Lf48w8/3Xu0feHkbCZHB/sHNz/+9fUv7p09d2Zmoptj7DpqdbIMhEK/zaISTIOlHmvyI+2x4q9fNwzGLNF6khMacS1PRXXpyHrMGdUJTLWCcB2zBAUDAxWJxExEYBGJVEXMfMZEZGQIKBINEMlxxigmUlHK6kYgZHYQNRASgUdHEE2kjCo+d1nGYmqVsgNTRQRGVIqhHDKGLMulLCFVelXzGBEEgbzzRBSCigpIAgxAzgOoQ0Yi8MLEGmIMgQGImBDZtCgLJnU5IUKqOoVEnsmCmCqaMnJlagpIYCaqAZ2Rd1HEBBAZgQiRDAQJkY3JmFFNoyghAqkpAbUzb6ZF1QeJgIAkCMQWQAwtOYoUAKwqJUaVyMyOKKpocvErVClMRxmiATIaFIPCdRicU40xBFN1znnHKqoiaoqgZpB5z468I2YMUlVVwd4haKiGEjXLOo4zIjSqxILWfhk0U4lBRRwjgmqzFR1ntiUh++/36u9GQ8PMyBCstrWRgAAcmQMjU9JUhkApgaB61iNBczDCcZkmAzWqWXloSEqqataAqFp8KmUz6zEBR/XYtdIoz6ipak0QTZ+QNNFSepxiKkImSaIvqX0+FV76Cn7T7/goxwM5/7B7eNpJ8WVZsdET/mYf11SPRhMrV1Fqrhghm6ZSl5B5l+d5lmV114MgIeF4luV3ov1jxUujtfRJ1pyZJWUlgPHc9e/b17fHnuJxmAjgK+ML32B9wC9Pwq+92uiSSMRkIYpI8M5771VEVcuyYiLns9d/8Obk1PTq8uov/u4Xm5ub25tbVb9/8eLFt370o5//7GfLq8vR9PkXX9zd33fZf9ra3Dz81Xsqsn7y9OtvvPHjH/9kemZmembu5OmzM7MLhjQclt2JyVdfe+PW7bvvf/D+1vbun//5X+7v7S+uLJ1YW19YXGq1O2ImUcSA2E1OTZ86d25+cWlyenr95OmLly9XohcvP3f67Pn+sDxx6rSqkstanc4f/bN/vn80+PSTT67fuKlyXdV+9k/+6Kc//YPLly6p2c//2Z/sHRzduHGzCNLtdOYXFqenpuYXF13WOnvhmTd++KO3//Zvr17/vIxxenYmz/NTp890JiaOhsOl9XXns8nZ2fXTZ/7pn/5LQfri9u2dra3t3Ue+lV+89Mz80hIxL66udj6/ubm13X/n70VkbnHh3Nmzr7z6yurqKhKFEETrEoG1UOuoQ5oipCkV4R9MMkg5UAo0XmBzxHhNSsCqSiIEdf5EDJVZleXZudNrhi3v/HvvXX20tfVoU5n51Orss8+eeeXlC8sLkxD6y/P5m6+smwz2D/Y275dRYGHWd3ozJ5a6J5Ymd7ayrQd7d7/YRuSpiTapLk9NXji/9NpzZ5dn2pkV64vt08vTxUD2Nh7qucVXnr8w3N//8INrh7t7RzsH/cHgxImZH/345fMXzg+KsDhB51cnplvIsd/CanHSn1ubXJrOM6iQwtxkfnJlYnmx0/aWYUADjWphoNVgesKdXptcnslWZ1ou9p47M1WV1ZmViaWpbDjhVuc7sz2ccLp4ZqV441Jmw8+v3/v0o8/QrNPiF58999ZbVy6eP91p3f/5m+c//+J2f/ve/aPMueLkfPf8yvRCz893+fXLK4/unbp56+H2nS+6XepAOLvSOznfnW7hXM+tL7TzjOY6fPbsqa0fP3/tk2t3rt94eOfe3tbO6bWZSydnl+c7nSwuz+W3bvSvf/TZZK+tUp5dmz19Yv7i6UUr+xhL1ljXR2Foyg6nzfG3DYJjL2UaAcdR6jGZ0xRMqrWG1UbQykaKbmmllxjM1GdZnmXoOMQoEmIMSAQA7FhVVLSy4M18xqGsUM1neQhVJdJutZy6KDFWBapLTh12jh0joQapyoJFvM8cI6L5VrsA01AYg3MGBhKHIVSOmR0aGqtoVDTIODMwRm+mpkboVQCJfJaZCFh0zgWJbEaOAChzTEhoajECmKpIiMwOEVExVpG847wdqhhDiWhIbKomiuSc8wgsYlVZGoEjJo8RQNk5ZIp1fRlmBkSJwVSYkp9fTSsDNHOGAhCR0DlGokYKk5FIVRGJkNMCIEHM1Dvn2BEDA3uohmXBlqWSKVWIhGqOgYiS5x8gSFS1LM/bvYkY4sHePiJOTHclhLKoalPZGDQqmhkyOwYCABFBMVAFZk1Wcj2EEn5WAE3KZt+370LDtCSkHGUATgmwQABkgGIgmgAuHee8QhOPTtE8BDOTxsg20BTvQUNVHQk8jHT8FVRUFKOiKCgYoCnBMWZKshCiGtWiSlRzoGqKpgCaEoBrLTZDPMZLT2Wvp4DsUz1K/e7hpXHazze5AayFpBTSSo5pBjPqcbGfREpCAAMiUq1F1pKmBz/lF/j22j8ivFTThUYKtFaTX5uOteOQEowr5327utj/OFsdr25CCl8BacaOTSKidnzwV7lYEsFrLOcFGrYXHiMyHI9V1aI6YmCAyMxgKf/YzICI5hcWJiYmVpaWX75yZWNjI5ah08pPrJ04ffrM8sqKiCraydNn/7jdvXDx2c2tTY3inFtaWjp79uzJk6eO+kd/9Cf/oqqqc+fOZa3WQX/Q7fbmFpf/+E/+xeUXXtx8uLnx4MH0zMy58+fX1tYWFhbIuWFRIoLP8tm5uRdffEkMZ2bnlldPzMzN/9v/5t/97OfbJ9bWJqanV0+s/+l//a8A8eT6OpB75vkX//ve5NVPP93a3qqKcmJy4sqVVxYXl/I8U5Mf/+zn84vLt774otXp9Ho9R+gIz1x4ZnJ6ttXp9ianX371tb29vdmZ6cle93BQ9CZ6qysrnVb+3/4P/yOzP3/+7PLS0tzSYj45efvWLQeoAHML8y+/9GK7080y/4d//MdnLl66c/vO3t4egLU6nfX19TNnTk3PTBVFEVTJMSRBlcY4TTtYUzWzmTTjAcXkgjjut6+dUCNRvISXAKhO4R7V5qwvowhAyGgqsbRYsVOpim578sKZ1XaGz55fPNwfHB4NmG11ZfbcubWlxcWqqmIYrC92Zv7w8sVzixtbO61M83YXiH3enp2dOXFyfmnGnVrp7O70wZjNwrCfXzlz5uTS2tpcFwsMcuWZlaXeD4Z9caxnTy+fOzXXsvMX1yb3D6pQ6WBQrKzOXHr2/NT07KAs3RvnXjg9dfbsiakstHv8yrNrJ2bzhcW5rotR5M1XLp1dm2vn2cJ0i+IgJd+3nfnZyR/98NKF86snzq4uzrjZrPvv/vR1JDx3bm6qC/nalP3Bs5MT3cUp77289vza2py/e+/hwVHQaPNz3TNnlk6urzq29YXuv/3TN27fWXn0aMCczy9PHewVUxO9k6eW2+18vrO01Hvz1p1thHJiouWc6w/L9fXVE2sLc91sqYfe0YVTi4tz/p++dfHyid7uzn6UanLi4rmTC4sLM5zF2dXpuenXzq8v3LjxkJlaOU12/dn1hdXFCRnssVbMyYAmM0yoxhJkgloV4DfsqTZmBVCzRqTQZcpHTUIwqQol1KyY2jJO7CjSxOADZjZEUcuyLIIBEiCVVTAAn2WMAMSqEGMoq9DtdFyeg5kRqoloDCDsvZqGECAEdo6yDBHUoAxVqEIURRRl2T8cDMtqfmmx3cn3tw6Hw35vYiLPMh0WVg2w1WJiNUCJEqIolBrKssrydqfbSc6GKlQGluWo0QjYOZJQCgCYEXKnlYtUUQtEdOyIsCiqGIL3ObMHcKoUo5gCUQYgUUNZhrIa5t1Ou507zojgcHCYMUx2O4BaFoUGdRNTRmYCgEzkROLR0R6odFvsHGEMFis1I87BwExMgDFjZENE51i1ito/GvosY3ZqQEwELsaqjBZqIQ1yee9ge8NlcWpyitiRS6w/JxIBmJgQyZHEqgpi7XZLwzCK5a0cgAGFfZZnLYRMoqqBmAIYMyOxCagIA7JjTNV3EskPTE0spZbXCuxPEwz4vn1rDQGTqYupmgo34WIkRYoAwSwaiAGZSUK7cCwcBImJmyppgNR4KYlwAKbStAKS0FS6oqqKipBIA7IwBZJADWpGb1InFzEhETUB4bRejeJLIFpveYl9rl+/gH2jZlBrhzxN+60FPH/bPXwLIZrH7sCefPk3nt8gSUU0vrTETsIaMiMAgNTuWTMzJDRJv434Sk95+99a+73HS2NPsrHf0lJ6/PiTMYfHFNlxvPT1qW7ft7HWINFaNAps9KgfO+IYkdYvjozuWoC81rvDmsTzxBkAjmdJXeWpdmiISKzZd4yIIUYVQUB2jhDLoogxeu9Pnjq1sroaYshclmUZgIWyGhaFiPh23ur0Tqy3llZOMHPeapnZoD8QiYOyzFrtn/zhHzp2QNDv98sqQlEg4trJU+unTotIMRx2ej0m7PcH/WFBzK08985Hic75tVNn5pZW2fs8922xH7z1Q0BEpEpsam7ux+trzrmyLJGdIa+eWF9cWVVRAPOZ77Q7RVGqSu7by72phaWVH4kQoqgiovPM5Iqi7ILNLSw/+8ILzmUW4+HBvhHkrVaeZaGq/snaKWKHqKBKWfbsCy8+98JLM7OzEmOIIc/84VFfyc0uLE5Oz164+AwStNvtusyV6bAsB2VF3rksA0IdqwANx7nOTcatjt57PIb7TVZmTKLhJKjWnKyZr/UQMjNEJDOLAaJzBK7t+2EQhv0s6508sXx2bZaxKoZFjCHLsk67DVYwSXQRACbanfXls1VYPxwM83bH+QyJzSza0cI0z796jpFbLrdgw8ERMzoCkyjDR97RqaWZcyszTFiVBTmfyeDEbGd97hwSRdEYjZ1n9miDdsfNXlqFC4veu6IorA1zp+YvnV7weRaqUp08f369PLkQY5jouKLfl1gSos+ybt568fJ6OBeAO4ZFr0s/e/OFdqddlcFU5lYmVqafabXbeRv7B49mu9niM+vPnV+pqirG6J13mUctquJwIufZtfkTM20AbHXaWd4qikGaPEVVTnTd+otnX3tuvSjKVIC4KIssywytt9A+s3DROwdGw0f3lmeyM8vnHWgMw1aemcjR4aEM+i2enJqbWOpdfOniqvfezCRWvZbHWEox9JTILw4wqyvGHs92G63CAE9KzdSS8Q3CtlrVtIZJ0KhiJvrn+EkSwcca+RpDU0Ji9tFMDQwohgoJncujVQBo6CpRMwTnCSmEIIidVjuGUBQlMee5D6JBRQwFGYiQmdCpaVQFQPbZRJZJlP6gf/PzOw83d5+9XK0szdy6defR3tG586eXFmdRK+eMIaIZkgNmD1QdFffubTzY2JqZmz977lyn0zMCn+V1RhCwAgYVdB4N1JAAEVlERS3LPXt2CGo86A9VyXvPnMcIYVg4713WKqphWRYbG/u3726cOb2yvJJjt0PExC12iK4loYqlCmjVhiAYFZiRiMDIavE6SkQoBSUiIqhFARFMYyg1GiJ5cs6xqySKIjIDU1QTBZdPlMPyzr0HZrqwMFceDK9+dntiqnv6dNbtdsgzOW+I0ZLxigDWyluMHgBiup+s7bN2CIroXOaBHERyxIgC5gRCUtRMnk9EYCa0CJb0VNPrknq+jgh8t5Id/gtuBqCICoQ1+EhxGgUSo2gYDaJBVENQl9wiKALChnWW04h/25DnRv7UBjGrmBgktq6JiWgUFAMxEzBr/m+EwtHMREyiWdQoBmIiyctjmtKMkqwEGYgpprXpacfT057hael8cLzQPsUpxvf1ximB3zghMKWZ1finjmKYgqKzJA3VCAqk7mLmdNUm+e1pEeO32H7v8dJxG0Gh2mivrS/Vxi3+RCIajHXV9+03tFriAWuUOcoIe/yo8Uk1OuAxEAsGTeWPho01TuhrQlLN61DrVNUnMEAjZue8qVVVUBXvvEMExLKsTC3LIrEjM+c8u6RiikiUatpqiOQ9kuOMwCCKIhKy0yjDsuqwUwUgc8jkPBmR9wQQo4QYEaDdm3DeD4thUQVR7fgs73RVdTgcooHPvMtbBjAsK5XEyzUEICJkx96L6rAKmSNAkSh5novTGEKIUoWoCAKoQTwmGgyR8xpFJFRFqVo45wm5itHAJrN8KPGwKOfnZ7rdbllVm4/2e73eRG8CgKKqoTPi/mCYFQUzK1K/jJzlgng0KMwEwHLvvXdljGVVhRCjqpp1vCfnYoxiySGeZICTmG5TIfpYtcEa3AzHrzT8iq+PP6bUXySopf8NyY7t5DolwURMo0kkM3ToHVLQWA5A0Wctj0ISejlbRqYaBkdR4kSvBxoGxYCJudMhFaeVw4yJABVVBkdHPsvzvBVDqAZDUux4AtCqHJhE56jtc40CZozMIFKUlVQE6NgkKqhNdHuIPBwOYowA6JiYOBRDqwIROe+InIWhhgoANKJHJUcShgDRMQCYSiiOSgBz7A1KCYIAeeYzjEEGoOooa3kAGVbDABA0SCpD70jQmWpZDgpAdFlmEIcHRxmx846kLA/6hghgIooAjOa0IhBzxigElpNq1Q8xIlErbxHasChDUbUnJxkqjQVUhVgZQulMOnnb4qA6qJR8xoYa1IxRUQUsOjbHJCKmkuqYGI7ZNCNXx2NLxNeDabMkI1ULxzaxg1SPdHSeuqa8NfnjSd/eoIom5F2WKWVFlBCFvQNsO++MqKwqM0VCJA8+O+hXZQxEUAXwjgLQcFghUpbn5NlAiyAGIAoxCjF2Onmn1RqU+0UJBwPZP6zKCooiXPv84e3bO+325MzUZNt770BrRRozJUIvRg+39j/97M76SV5dZ5c7ACDPQUMxjM6RcwyA3jlRkagWtV8WZVn6FjO1iuHQLLLLwIFxXkYqB1UIlme5cVYZGbddiw+G92/c3lxZP4FZTzEryuhak2by6LDSGNl1Wnkuwpx1o2ipNhzEGEKnPZGxlcWRWPCACMzMYgYgRMwui0axrIIAe+98zpwNYzEohMScpyhSVbHD7d1+/50PbxDhq69NHR323//oi/nFmd7UAvoJFSM2770AOscGUFVVLEmVQAXLoIKOO0q5iAIARK2qUvrlZKfTnnRAeRVNRKiGyYlOlRBdMqPT0KjzWOxbMG2/b992a0RcEsXWCIQgokXQCBoNBAQtRjMyRYuK0RAjxsgxoiQ8I6l0LdTUOAQkY1ERlUTxSmuHJWaqaiougLX0VE3nNbI63tQALbWUHyVgMspfEkOtnbyC6YXfzi3+LY/gqelL+I0h0wjAPIZk8DcsvN+o2WhyHTtPfycAY2g65jg3U1VSUBS1WvUDzOrkdEQmRqTjb/JdwUoA/6jwEjSwaFRurE7A0K/gW471w/fr7DdozTNNSnn41T6LxlaCY4DUiII3GZ8II+dxOm2dvDD6sUbLt3YrjMovEVHaH6tQERAiEQFgUtZC57MYQ8oEl1p8J0IVEvtfkUSE1FAMEGIIBphlaKbkvEeqQhiUwUxZ1SkYMjlCdOhIYinpboMMykCIvakZM2OmEKUsK2TvnAOEYRUAgCl9UYaaLAiAUAQFACBvzEQIQCElB7BXs1JU1WJUVZVaUcdYUSU67/I8398/REZADKJVFOSh8zwxO8veD0MYVBGcD4aFCBMrclGV0cx32kWIbMDMSkZoMQoa5D7zLXSEVaiOhmWMkZizdgsRxVSKovbh1yGfVIAJsIkXYM2YOjaHv8TH+01gKR2etHyRAEgBDZJiEoFiLSWiBqqoymiIJhKrQQGxhCSKBJGcciwAwHsnqKWUUhbczWMsKBbtdsdZGYsiR21TEAmqSqIw2PPcyzSEwSCU4jn3nQ6iEVWqkRRkMAQTckzoOxlG03Kwj8TITgyQiMAX/TKWZZ5nCKAisVQi7GQ5oplVGgtT84jEjqACADOthkNVJWJmNpNQDRHRs6EIp3lVgqqnUBgYQAamMYjPslaelYNBiNE512q1jXE4HMaoWbuT5VT2j2RwkLfbhKSVMlGWZbEKjMCtdgzDcn/Pt3JUlWBR1VQcc7fTAcRQ9rXSFmDWcy7XODjUwSGquLzDXtUCm2kk8pkRimpZlmrGBIpsoUBLM8sIDE3UDC35hRXrlIDRrD7eKX/T+pIGhAEZ1qPBaj0rbIZWqpGTYp8IQGAEqobBvGEHzO/vDW7cvP/g4RGym51tLyzNzMzOse8dHB7s7OwUReEcb28eSQzLK9OTk73B0cH29l6McWZ2em3txPT0lJlu7mw+3NzZP6iK0ryHxYWJ1ZU5x0zZ1MT0TBXj5PScy/NByQeHGDV3vkMeLYaoUYwkQIzKjpDyKK29A54rW8iTQVu7e7tbWzu7jw4Gg2HesrW1mdUTy8i5QuxXw0ebjx482Ds8KqbnunOL7UF/t5VnJ0+djuz6/bC5dXj37l5VVevri1nukHBpeWFiYjafmJpenMx6k4X43e3+9u6uVMP+wfDwsGhnuL62cOLkpKMciA4HRw8ebt+/v727Mzh7Znlxzg32tqe62dLcZI4sRpYErMyAHZJjlxsTuVYZYHvz0dXrD44GMWtn07O9uYX5icmZ/TJ89PnG+1e3QzDubZ04MXNQ+vJBv3t94+a9oxhhfm5q5cRSu91BzhGwHw5ufnZ3e6dPaDNT+dLizMLcnMO8Xw0ebmztPXqkUoVHj06tLJw8v5L1GBUkigF4zpDIREUikwEooEBtxOno53u9h+9Yq7f4BJmIwRiELbAG0oAazSIKmjThoygYAClwCBwixmgiKmJi2OAlTHgpeSZEG8kHRVNUARUTBVUwbIZELciHpmiSWHw1ZAIBIWvwUoovKda/KaAZYAJQT/UQntq8/OZ46Ws+/+3hJYAxYf1vfsqEWwGSuDoqqoopCqb+1cTBQ6pDVkjYBD0aNuN3BjL9Y8BLKfdl5OkmAErkoeSGGsurGP/AN+Reft9gLEKUcpPG6+eOzUVM+jZmdRULgOR6boIT6cO1OU1oeBxpbXg3NjqqvnAKAKY/CEBjDKrqnHPOIXAtt4fY6rSLAsCQnZMYYxRCNDOJIYQQQpyenkbvK5EQpaoCsXMGVVUxM2Eq6KV5q21mZRUQkYmCKKgiczfrIcGwqNSAnQNEMwtRTLWqgvOOmIjIA4ooEmHK9kJMGQOiEkXNjIgBCYkBtawCEfksc4AhBhUjZvZeRIkIEKoQmNmARDFvtZMkct5q50RVLEMlzvt+GaKImnV6E4gYosQENVRanU671RoMSxExVOdcK/dFUcYQRS3EEGNdOTtveWIysyCipik9u+7asYVq5GFqFrOvoF/CMerF0cBBAEhCV/W8O44ofikCMXJApZAWESMSKGgVqv6hshI4NYEY2LF3LpRlMplQ1RGBqVrSNFINMXPsXF4MBoNB3xCmJic7macQDC1naHXaxN4smigTOs+mKiEgAsYQJHrvkMg559iLGYEhoqmEqgyhyjLnvVeBKkYzBBMFEKnFlEKIEEPmPbEzMJEINQGK0t4ASKqq5RDUkIidQ/RIakGBpdVuW0u1iloWTOYy53yGBCFGA/C5zzp5CCEWRbeVExuhsWckroqhmTnnoBxIWamIN+8z3z88LIeDzPtWt8cAagqgsSqROGu50D9kFJ9nIJUNB67Thm5bylJCDFWAXNq9aee5qqpQhaIsc8Ks3QGQGAoI5Ng1NWwMRhbsmJ1wPJvH+JbHoWdrxsTIfzVaT1LSt9VxzaZuoTUpAQqmyN777lCyre399z/46NOr17d3jTibnee5+YnLzz3//IvPbt588PYvPrp1685E18fQPjo8nJtrryyvlmV4+HDr8HDQm2y/9earF59xZvruB9eufnbj8Iiq0jGXM9N86dKp11+9Ymq7e8OHWwerj/qOnQL5zPusreD7/UGG0bFz5FFZDNE5Ag8uL4IblCCAlcD7v7720cdX9/YGZk5tb2W199YP3zx/4ZSp3Ly9+c4vPtnaOjo4lLytU5M6LPsvvHB5/ezFne2djz/64pNPH2xsDDrt7Na9zX5/jx28/vqVS5fO7+wPHu4cHRUxG5a37zz4D//xl2x9stb+fsh8OHNq4aUqnDi5Xob46fVbn1y9cf/+7t4e3Lz9YHqy0qJ48dLp+dkZ8CymxACaQtqBnEPO0HhYxRt37v/tL6/eu79bVEjOJmay9bXTP/jhW+zt1p0HD7YO9/YL3/m8M/HcoMCdwX6wG2VF+/vD2dnOlVcuP3v58tRke2tr9+2337lx8+7+gXrvVhb8yROzzz/3/Mn1tfsbj/76/33vxuc3piZ4PsMcZXa5N9WeAMTkHUGnRJx2dLCUHTdaORq2J44GDUJibI1i4WnzOqYQPb6ufd/+f2mpAjOkDFUDQKuXZqQU/VEEA5Vaqt5UNAQLqCwggiapeJqJmmidvJSsOWSVRu3BGqpYk/2SqhrUTDxVUFUTlbpoUxKQADOs9SE4OXcavKQmtd5D7TL8FkREsCahGQIiEVjtR8UxHYg6y6GpiTz6EyBpgD72+ugtsKSuk24QkwB37bukOgpEiA2tMekoSHMhsgRUjrfjZsU+nk41r6d+o36tNrngm0+iugJnbZETUYoTa5I/NGtKNNYXsmNVw/HJ+51ov+94qXaBHxteCETEzIiY5FPQJVa8HgdG6yPrTvi+ssI3ac2MVbNa3xcaCJVUF5CJmUBVRNAxESmiRkNiTNPfqF5Fa/oNEhCPLHCFkQk1Nl0a8WAAU1VQRGImAKxZHAARhFI1emJMIm7MjKlCNwLCkiFPAAAgAElEQVSAJ3JZrmAxxGhmhK7VJgQFdFme1o7MeUBQ1SgKSIYgNlq2oEHdBFQHrxApBULQOTEogxAZEQJiPNbjQUCoIbtC7RRHiqpBVAxUDUQ9s/OZsGgUFUViYjIAcmjpbCqIXBfQToRw9kCmgMYOkRwAIpqBpv4BQPZEPiqy80AMpqJWBiWfe2KLEYjIZYiARIAoySIlIiBAaLxBxxZswsD1X1pL5FlNm1Iwqo9HrItuoKXQH5gRUZIdIkSpV140gsSa0Gb41FhMzUTTJkpmGCNqzBjZUWRzyIIMYFAVJhWZmQgCZADGTgfDTNVlGappDICmIs50IsuR0Il2HYsKlCUZRJOAAREJ0SVFZyRHWU3ZMI1BkhUfVawOillZFM6zyzqIJBJAlZnSMbXjjQAAnXdqFiRaFEREZkRWABExsxStCiI5I3LasFRDwQiUEaBKKBr2Y9JuR1EJqmpGTEAYy0JEfe5dshXUwERVEJQRwQQUvGNjDFUJMTgEbudErBrLYpCig44JCM0EIIJE1WgaUYMWSsxknHkmw0qlGPYBSDSNcDawECKCABBy0jk0AksKwVDbH4qglESCa+8VpL5O/uRaTi892FpBmBqdMyNIboe0MoiaIBFispkwJXmLBYVgkAXMt/bDBx/f/T//7IPVE3Nv/PgyIt/fePB3v7p6d9POXrrCraWtg9bN+3L+zOSVl59/uPHgg/c/uXF7+MLz519/68rHn9z84MO7S+vD3txwOCz//sN7rdbEmz95gcjvbG9+fv3a+x/fvfTcDyQUX9wb3Lvbf/b5DudzQrkwg+8YTwhagBKZ1DgCY5YrZYPChmLqkDudQPn1m/f+/K9/leXuuZcvLywu3N/44u23f7V99O6/npwpi8EvfvXZO+/d+clPX7uyMnv//r3Prt34+JOD7gKq736xceOXv747GMYX33j21Pr6229/9M6vH8zOdU5drE6Z3xvAtVsHz7wQpuZbFXbeu7q3vsg//eE5AHfv3p1fX781MPdvLj5/886Nv3vvxoPNnfPnTr7xk5MPH9x5750PqyOcX6DI7RIsI0GNZgpExB7Il2JHw3LvcPDOr+/8p/fu/vwPXphfWHi0f/D5F3f/t//rlxVN/8v/6qfLp85O39zszeuLrz/rupM7R2ihdWZq5ezS0uHR8LNrn/3ivc97M6cGsfvR1c3//f/+8LVXL738+oWqqna27v/V3320d+T+u9OXj8r8wbZs7MDi4sLJlYmlxcVOp+OzzIBUgkiUEEDRAVOaLKoAMuJtAyKkpKxE1Wwsy2bxRsOalE/UsDgb++24fc/J/5baCLYQKrAYshAqqCEqxQqiOjNO5Y0MTECjQ6pUYiwBGS2PLMIiLImvpaB18R4QQERDMRn9aJ3LJA2yEgVJ/iBEUZNKYtBgZMgQtQoSxIgYFS2quEafJm1WgqksbnLx1q64f7ix3gxBMFPTRKgAgKgRasHAxv0jioSESJgqUymYETESJkzjmABApTZimYmQRFRUAIAQDChqcOQMLEr07BOzxRGBqqoCAjOLqKkRU+acKEgMmErCQeP6xHHXFaiOmPKPf6vfraFhjdzULLGjLfWjiIESJUtJEQEBRSTRhyjtDN8lRt7vF146ZgDBE7SfMRyM475KG6MJPX6yxgf+PWD6be3J53wcVziGN01+2PEyAY0T8ImzwPF68XUBvi99qCZ6jXp2bNqm5QCBjEBqYUq0kU+RGQGiapUwFiJikjSNRISI2Chu1R6rJodi9LViHR7BVFzezOqSeo2fRupNIrGfH4uYPB6OR0vSwgZJrjcxYAgxrSmqqTo9mioiaeNpGQVEDbTmgyOaKSASMTR0/trVpoAEoqohAiQ4omAgas65JsZDdVKljUyLFOzDx7/AE/3xuzccn4wNUxZsFJHAxzt5LOxgBiIgqfClppxgg2iAqhFBeRSnQko3joiELo3NxHwnQmaPBCZKqT/UzNQA1YRSuRoTM0pBrcR/wFT5wSAhcAMwIDNDEXJMRKYmMZoqpHCcpaUeQNPHMfnSFJSAkchwrCYj4ojC2MwS1fG3Yqwpi7VvwQCkrhOfdt8YAZCJQUNDW6hDv9Bw14hQDa0SMGUiRJ+6W1WpHrpoCEEEIJWDNSJkZDA1gdHwRsAYxeq0ISQgMxVJAInSN60ZtnXZR4UmCx/Gf8ZiAo+PsdrDiTgKOWO9NKTeqP3HqdRXTRqANFtBjDQqHA7Kze2Dja3+cy+/cPb8ucGw7Jcxyuf3N3YfbGwPhpVnWltd+ulPfvj6ay98+snHe3v7g/7w9JmlH/3ordW1kw93/w9FAfKLS3OXnn2m3WmfPH22rEoFw5u3t3d2xUjMVxGrEgy8GosokgXRIIDsnMuRQKOlECMRkwNiNkQFO+z3b966FbV86fLlN3/0g95E95ni9P2NwQcffn5/Y9c7pYwXVqdOnj35ypXL/eHR4nsfP9j+q73D8v7mzu17Gy6zcydWX3z58vz8om/3ihg2N7cMM0EuyiAmUaGKUpWlB3nmmcs//NFbqvrZtamNzb2Hm4eHg7I/KI1tfmn2+ZdfuPLy8xsP7hzsh2sf3wvKERypOIcIERmZvfOZGheD4c7u/ubugcSDi2enXnv9pZUT6/tH/YmZax9dfXBv4/5Bf+B81mpnM7NTL1957uDgqBRcnFu58uobF86f2dreefBw697G5t7h0OX9ze393b3h9NzS2XPnyqJQ1Z3dDz6+en9rew/Aedeam1t49bU3Xl6fnu2Ba2Msi6Lqi8Qs91nmKbKpiQgTNO7t2rBrBkv915NL1ldt/c0yPTIOvjcBvt2GKSwCihrRmuXUgsSyrMDMIQUJGqOEKibh/4TUvUdiTdLeqo3OptahnprNRZqoeloTukRVTGJCUKSSeLyqaBK1LpChYFKnGJokDoY2euIjfTyjtFeqKdZsT/mHPwQDkYgAzjlRFYlaKBJmWZ7kc2IIZkA0EiNLmoAmKmDAAIRUOyWhBl1mWkfKaBSQsSQ2Sw5TWInreE2dpoUKhMTskJCIJCmUo7EjAzcWswJTTLAt3XxTf3wUxPuHPwczSkELVbVUGiZ5+GyUwvS4cX9s8+DYX//523cdL33J9hxb3o7/qI8bRY9GG3Rt3Ncb9BO261dc4/v21a15gKPnWb/6eF8kd8lXPU9DqNM1m7z+Mf7rGJcHDBvFwnHEOwIwXyNm2DC9oCmaOY53xg6DsU0SDMCkDgs06m9fMzGxOVFDPErhMKvvvb58zRL5TVPbxBRSuNwAqd64pVHIRSJL8K82DZubx7FvVeMJsKZXGvrc6H8DA1Udmeg1AcDUABiARgHvLz2jZqr85mzOb5DrORbi/9JlmhI6aAJ1rgvVumdmI2G0Wi2gkUczE4tRKAqCQB3qopFI41j3NH8ijhihBlJ7CQ3MqB5PpEhW7y9mBqJKo/Fr9RkS6raRtzoJVChirUMABsdsUTzuo3H7i+pj6kKIDVIwMzBp5srx//VZx3S+6vGW8P+xwKo1oATqnm8KhTS7TRpoQClhHo89h2OKoFExmCGiA3YMaIklW+/MEsUIkZgAtUnAVQQEQnQGKZsaMOVG1xnS2mRa22O/jM3wccmQ+mYbIkrj6rKGflcDqDTKBVRBalRZw1kTi8NyOCwLMUHmX//6+sbmfn8Qy6LY2x+urfUG/WExKKSMLd9aWVxq+1bLZ+srCxLK+amOB5zqduZmOr1Olme+1cpmpnsffnjtb9/+pAwgVdk/2FxYmPC+bWKOiT0URRFEAX0ZMKqlgHMQi2oxQhQJOszIoffgMIIFqSoZZh06dWZ5dX2x1c1VpdPtLi3PZVev7e3teYfk/OqpkxOzS8LdvOfnllfzqcl+jNt7g/1BMTU/tX5mfWZhOQisrK2snljd2jlA9gBYhEoNosQYKtRqumNrSzNTE71hUc7NzPW604/2hwf7R1XU6ZnZzuTk+qlz7d7s9GxYWF394sYOcIbUibGgFvucJfSHRRGHhc8nfCtrddqy/UhkODWB7XbbDFt5a2FhbnamC1pKKLwjUAQBDdXBo+2OK1cXewtz08zkHOdZLhFNYTgc9o+OAOE//vW7V6/eIZNQ9h/tlzMztr21qTHmOczNdc6cWpufdB6OVCq1SmOVItVmorXycJrGejzKj38YkO3xsnDH+LyeGWlo1b+jNdrRTyxU37ena8m1IYxmSILgoHbRMDmojArwBRCjiPOibUtCsqRoKqKVWaRUEkksikVDUZSaem1IhimvSVEUVVENTTSKstQqEQIqoBEbOp9C85LFaBQVIkaEGFXMJNVDMABRUCQFBgU0MhTD8DThDXbESDHGEEMiWWQu85kHs6oqi7JARO99CuyYEdboSBOvBZKb0EwV630cFABFiIxGVkjjKKRoFSAAQSUBwFTVEHPfIuQY47AYsHNMJKbVoE9ExI5SoSkYUUhQa0UuUKuL+dpTplAZpOCRgakJJaqMIgGmTkn7xHcGE/2m9l3HSzC2047/bWOr3PG7jyVTjJk6I3P/MeP5+0XymzZstPFGz7R+1I2BNt5HzeM2qK330QGjzQtH8GtUcQGOzzCyFXH8g8kf/5Wtvu5vCxQjkcPjDfVLR+PIWP1Np4Dj7/NYYNrAxr/K196nqeLIQGwqjsOoUA0h1DVbHxuumLLG0pA9Zvfi8XNu/iECJ94fjPjRNf7BtE4hNGS6J27um7Xf8pit8fQ2NvCXr2EIad8bA8qNBV1DpkYwNu10iU4OTKC1KACiRBO1lJebnkz9i9X8TQNM676qIaRc8EY5IDEfMPFz0jeqg34wllOXHvzYrdd4Rg0QyKBGW6Njang2+rMBsOkCI5H8Y8sNzEY9j2MwqfkWdrxTj0HnxuyryZ7HXgAbrWgJFtcBKxrd4Biwr2/YAMSMoBH0rmUUJA1LNTDVMRN03IVBdd+Z1SXuElO3kQC2WomqXihs/PPHL9Qotwlujh78SINpFDcAOx4qTRIkGagiocs8MokqkZ48ufrM5YsSKcR47/7tqcnO8tLKw42HzjnHsZW1UnTOEbHzjGgSY1kWg0JEDw4O791/8Pd///cHB+WpMxenpxeO9vdu3tRWToScZy3ArCgJMUPEKJLibGmF2zs4zDOftbrMFEpJBr6hEgM5IAdIUJRF1Oi98z5TjczS7VKe5apxMAxHpbV6U+jz7e1HW7u7gMN2t5e1JzqT0ztbO1u7+8OinJ9b2Nne6Q8PDar+sF9WIcvzLON2O0eEGIZ5LjPTXVM9PDgwk17XGWbtTq8/HO7tH0Zw/UExLKqdR4eHRwc+iz5HQwZwg2Hp3RAtAKF3flgWCpK38m63owaP9g5FtarKIOocdjskYTDoHyGoIyBU0Eigkx3otRFBh4Nh7rNudzJUKAKq5hiWFrvPP3du/cSaShXLwYULZ9bXluZmZzfuPyAKnRZ55w4PDpwetqbZ5dT2bQVVicN+ReIyzFrsqKlxadDsQ/UIIWzSlsd2ERtNQqtjHs3+dLzUP2ZcfN++rZYiQoRsgJXGxKFw7DOXWSWxX7FDj9gC3yEnqoQumKtKYXSZz4m8gh3nL0Edr0bD0d7QBLHBoKlfS/XOYaaogtBsIWDWiOM1CiFJ9SHx8azJX0oscdSUv5SkyZ+iEXkkYo9ZKwMAkahqVShjjKqaMp8Tlx7q8SyWojAqIRogEBM6BEl3X+/9hEhWUypMTVQRMMuyEKoU3A5V5di7zJlaiMERAEIVAlSBiJDQwDz5shjEEFutlnPOmpOPU3hUkvzg000Qg0bZNLH3EQwpBfBsFL/6/ZiE33289AQAGlnktRLecczjSWvX0ryt9dh+q0X9ffuaZjBScG2UG75qfD++9Rwjpi8dMLIjx89vx/+PByfGYNixpf4lO/zJO/nKfv6S+Y5gX7rZbwChbUyCvqYfU7JxTdEeP+VXnyAZsccRGE3ulZr7lN6X0ZHH3+eJm0vxIhwdlvASYOKYjSJmSeBuBAYee45f1X67l+d3mETjFrLV8s917CMmwNjkvTQRSEgSsGaPDRxEJCImIoOkdqTRyoZbnZbzJLWHqSJeSkyCOrSjACl8ZIi1/U8InO5HdeyZNEA22e9joZDm8Y8imEhYC5w8/o0fW680jQpM91CfJ72FT/TCqIdxDPqkjqvft+NH2kio1BLL9SmxuYQ23+bJPhkbMKmepAEk+0FB2SQ9fTRkaGAPakpXbpyASfJKMcniqQGNqtMee6nS9B0VlDy+aLMIjGCTjr5cmmBUT6omPgWQCO5N8HEEidWMCLo5ZDw0eTQzWZ0/2/3jP7yE6D679vn+dhGHZXGw0XFhumVUVlDsOMnbOMitDxAns2rSV1txP4MjinvV0cOjnUf3btx64cXn/tWfvm4Cn39+8+EdeLQ9JOmzswzFmaIOWj60MyKDjKTF1f7h7ufXPl1cWFhZXWu3e2gWtCiHh7Hcc1ShDTTuWnz08P6DL65fPbHUm5ubPzw43Nm4x2pth963b0f96KObL770xdRUfu/unffefW/j/s7K4ny3k60sLn320Z2DndunT6y1PX7w7i8/++iTGNVpaLP0vLfSKFYcDqk8dEFyiy0scxty+P/Ye9cnO44rP/B3TmbVffXtbrwJgAAlPkRSIkfPkagZ71oK2zv2hndj/4f1J3/cf2o/rcMRGzt27Dhsz47n4bFmpJEoSiIlCiIIEgQJoF/3UVV5ztkPmVlVt7vRDfFCA8CDE03w3rr1zMzKPL/z+J0ZNZVTbI392en4nYPZ3U933j1/7uzm+IP33//F2+/Us1oWFYkV5N758Y/PneWLFzeLogSUjArnCrZRQbLE7ZsHdz68sf2lV2Z785u//MWdD+9fv+6nrraxH8EOPr298/Evr527MPEDWSxQ3S9HUnpQqLS2kddzm3x204+cfuXls9///tekaX7203d+8qNf1rt3ZDnxujfiWhvRxaduyN45wEwFCICaBZUAgTkH8oiUaDFFjtIABhzgAb/iLMoDrFtwEi+5GZLRHHlCfyaPVKLpx4lCQQxXiQiItBjR5OLwwhnbnCwH5dBVZoWGDXKNKA03xI92q+UU27UtuSlSCdMYj9ebMtTilhQkz0xINblSces4flTFUeTHA9goFdKOPpps1EHS35Gd42ox/oKBiF7COg1R1VpbXZSlKwYqsqyWTR3KQQkABHbOe2ewEIKItNH3HNcqNTU1Z4wcihxRXQp8UEpRBiKqzjlyZinBycQaZvZl2TRhMVs6akaj0WA4UFGDReYh51wTmljDKlKrx7hFyjbDFJxPrf71uSXb6VL1YQYQyyvGdniK5MnHS2i9Gg+7d04UsMwwmhSCFbUdvY56NmGeLj2w2q1A6YNlLfwEQKpRAyXKalKHiVahl6ZS4ITEW90qmWh76lSOzwd4ogw9c9HqubIKfNqJAbQOGoo0ENkco4q2qtSDj48zct/U32JE6/YC0OmQyL9SzI85dDtYjSmhZEnNXRRTc7KV4dD9HL1bstWtR3r04ea3I7kE+WQab0KDMUiVXAq5ojb7BVFD7tLbor9JRNRYYn6RiVGs6dCGeVqvXCWBDg8SNUvk3V0wF5DTYtBCI82tmTOSOG8js7bMssaqn+1CYHS4pcwAizWFLMGoPOzbzx03EdqEnf55Esbsfuo1aYYurVUilQWMu0jM4zXtITjDoXskMIM5jklVI1Mx4RQNgrweKyAMmHF8TjIkf53GQ2OUo8AoVyyRrJCk4Z0rT3eepdw78QcWwKCA00h71w2Vls3HoqlY28BDgzFE6nq5N53Qq688Vy/u/egHP3z/l3fYu09v35zt773x5qsD18zmn7HsDzBb7n0i84EPB1ztqlSu3nHVDlX3p0MZ+WpSBpuWFMr33vn4/+H/sL93b3///q9+tUM0nO19Oho60rnnqql2Q7XpufFca9hfzu99evvjH/zX9770ysFoMPAXiIgkNPP5vsneeFh53nc0f/EL53/+s40f/+hnN97/6MKFrZ17B7v399788ovXn7u4fe4suc13by7+7b/9D3/xl39T1zu3Pvzgs89qouG5c9vLeXX1ynM33v/kj//4zzdGf/HxR+/fvLG4/NyFC9tbW2NfHxwc7CwOdu4PLg4vbo5GTDt3PtLl1a2x278fFvvL+ztNszh49cUv3Ls3++FPfv7nf/bXP/3ph3u7n9z64LORH2pgR3ywu/fDv/n5i18cj0fXNjc3qyoMhpsbG4Oq1ulkeO3y+Q9v7vy7//vPfnDp/aaZf/bZR5sD9803Xnv5+YsffPBJofWv3vvgT7Hz1Tdfnt+/LxsjbvY2BsNFVTWLXYS6wHJ7vHX14uZ0zP/pT/7j++/+SgJu/eY39+/e+8M/eGNz40WZkVNbzha23Nm6eIWtrG1W1ctGl3Dki1gGjwAVaQAxk5iB0c5zZpz/kinvQQtRl1+6Ypl7Jo9YYh5pXTW11RhueBo4IwiHuYadsP/hDqm4DVRywE2zp1g2gaZbGE737lfzOwtaFhw8LJfoiREAlvjELREkWnJ9MIFbFrhkQxMTUwFra3OJM5dCxUxiGlRKF0oVCyz5lwigWITGoEayziBhx00VDu4flGXJzADKYTmZTJbL5Ww2A5aDwbAoiugbExGDOXbeFb5wSPpKEITkW2PiTvVKOkSkuGCCOWVPlrCqKZqqgQqIISLLqhoMSuedBAkhLKvKzIrCT6fTaO01mKqIaoSgBAbF3CqkKOjPPxiAuAZk/Gs9BJhiGh589BpXfvTypOOlFQW908s7ZSybYVcU+fRLa+m0NnCpO+gQZnomJ0lagqzXpr2+aIXatcpW+6XtmNQHR7HXauhTOl3u9Hzsyb1Fx37sX3X1p/iJjz3ihGu0Ol/f3dU+3UOdp3OIdnqwJdsRIdKC9XNYosJMdLgNVnAkpZ2oC4bs2pyMIjdp5K/rznDcRHWs3YeOfHigpGC8Y9KvW5pxolbtjvlLUXqunrbPoo9DRCwEpRoAwCS9IAEF5TpfCfV02J2gFt0VZBEyJVulJgiJjv4nO5SyRkUJDVvrCrMcQUcRavWerIdFk+MmJ6ND0/m17+OMYK3f/x10aqFvcs5kRN4Bp7w1O+0SNOr3gaVTduD7GLBM4P5rrTBBSzIb/1Vpr58AvCH6l2JovZllVTVGkuZq7tZWsIX1pgD0PmT7Q/SUpYPbYL5MEqwao1ZNlVSZwfH1UDOrQ91g/+K5MxfPv3l+e/Dv/90PP/jNrcl0cvH82etf/eK3vvV7X3rp+Z8td75wdWxaXjg7GHk9tzm8dvlMUy8mA9JwsDHAF5+/uH1u+8LZ8fZ09D9898tvv/PBr9/95ZkzoysXz165dH443BgVOiqL5y9vky6vXNwuPK5cKkbl5pktAioN4e6n9f6lebWYh3rhB8PS23jgLz+3SbzYPjPZ2hg8d/HsP/3+G//tb27durV/7879pqavvfn6P/un3zh39nxQvnbl7D/5/tf/y1/8fHdndunCxvbrL4X6/cnAjwYDk+WXXt4uXfObG3va6IvXr3i9QyDSmlWuPrf5h2+9fP3y9nRcurPDr33l/LktplAPnd8cF6++dGF/IQWU2a5dObtYXr958+6dT/cuXDiz+WXcv703Gjg2uXvns/2deue+LA72zp3d9FwWpdemXs6ryaj4zrdfuXRx84///U9v3vhkc9O/eO3Sq1+6+pU3XmSVgavefO3sxmBBhHq+89ormy9c3z675cYDMOjl6xuQ7Ytn/dnt0RuvX5XmjR//6NcffXAT6i6c3f7H333pD/7gjReuXXD1/PlLk2q72D43qeslBbFS46tj6OZEKFSFIDErQ9XloN02PAt55UlDrltd7NAK1JtlVhxM9DDT2zM5VYiI4cicqRFh4J1bms5CmMv92/c/W97HLwXDELh2dT2o0ChsXGK0CR1M7xVn3daoGDNYVdXUYpISYsA1xY2xz7OhyRJ/Q47HE1NTpUjWk1fTdFSESpQi+BSH8BJglLJtOMbjff4hMSiHBL9cLouiGA4HsRpkCGGxmIuE4WgMoKoq771zTlRERFXruiEKQEY+LNAY/00cHymaEFNIv8Y6K/NZ8h0BIIKEUNeV42JSTpl8MPVFMTuYVcslEQ2GwyY0QcRrJCuN3q1InERICcDRWBVDH9cYDC0ToKpqS1cV3cT9864Dyv6e5EnHS30MdHTF7bRvoOexMHQZEch4CV2p5u58zybHhxPL+mXO1+/Z8vvYZ8W7kvuo1z2Z7KG/lAHoLVqWHSSE1V5u18B8rsMXSsvq6sZD0s8qTHv3Iqq6MKIHCB1hj4sK7MMHemZ/VAaViYW6G8nUeh2sj42sBR98zLV6arS1Z0oKQc6kT44Rs77Svqq/tydTw5F3g1YPsQe0cE8yaGjBddxkmiIJAYIyhCGx9igl4zBSTLZqrLhu+fY0N5+SCC3jaNJY3ZRcrHSavZLpnhn9KMmId5IVkrWNMSMCcfYOZs8NYCkSDDCXnNUppoeQyAjyg7bDPL0NnFYcIhh3ZIBJIyNAiRtwTK5aNf4cbup+ix7qEWpvNXG6HzrBgzomf1AADogEy8YU6UAsFThSaCQoT6nxKW6OAFJlaPIKRh8Wm3XpSjEbIP5ZpJ9qlVTNDcYW08+iAcIE+Q3sUFMKs4GJGoJS6GIkic0aFYOW5ZKwW7jyy1967tzWtwhua3O7LIeFH8Bw8On71y6MLk1fY5OtzZHVd69u8wvf+pJpMBIOnz23ad/7w9cNJZFj737/9/7wk09evX9/b+vM+bIcFb7w3jWhIdDmV5//vdfOnT+/NRgX3/n6K4vlbHN7WpbFbIteuj78wtVz29Nxyeqodl4HUzceXrpyeVoUxWBYh1C9+drzX/vyi8sqzGcVwW+Mt8titL97/8avP3znxme3FsW3v/P6tefP1dXy/V/d/OT2fGta7t3/7OObH9x4/8PRYPi//tHvnZlOf/nuB8tdJVUX5l6qt32oh+QAACAASURBVL7+2rd+7wuEOhzcK8vmn/+Pb043t0paasDFafHP/tEb8CMt3Ls3bt547+ZyFn7/a69dvXLp/u7s7b/7xVDd5sh7tTPj4YUzg/PbPBmRw7IcbRBJtTygUJO5MxtnL33jK1cunDl37nxZlPPFgplDfXD/1v1zk8H//L03mz98pamXGxuTEGqCgevm4CMEe+vrl37/G1e2tjfLYdgc++23vvzNr1wDbDQoR4NyczRazvY/+eXfbnj3/e8+V4yGW2fLezd3nRTDwvuCVUkgZgY4Jo5LuRJUTRlmosaZEYbUSDNlzMprsvI5jsCI5vPU/TRoaU+dmEJBZTkhQ6XwDF7qJm/90Xf/6OWvvLbHBws7sKKBbw7ufVZ9eq+cTOpyVJcTz+NFs0d76usSAhU1UoGk/CVTMjJl0xBrK8VSTB29uEosPyAaVJhJ1CAmiqAIaqoCSXlLKpGIHAJN4QGipDAzISWKNQvo88XjpRm4apak5XgyAtvtO7fvfHJnsVxcff75zem0HA3Y040bN27fvv3889e2t7YGw0G0EdRNramkh3IBeLNYpg/OOTaCiITQgMg5571j75bLan9v13nnnHPshqMhGTVLgWK+nO3em927c3dydmOysTHd2NjY2Ch88f7773/88UfbW2fOnN0eDAYRJnFMb4pIzGAaxNRY7VjD6sO2RTKeqqqopDRZg1GEr7Iae39Sez52efLxUl5nO2zURqBYjt3g1uyZtBVCyFpWjzLtqJZNdlQpeSZHxAAhEExIE7+xtS0dNbYW9pChI3gFUi55YuVqsxTQ5qwkFawl8LC8luFBbqL2E61ubG1N7afV3a1VBNvdV3c8FfZEw0uay7LX59Dhx+aMdGdISTUZY1osNEOpMkE27JBFwhxrj0rXohyrdOi2jnzP8JXTHWany2FY2Tuo1f5P1iFWTBVHf1g10tIDWpWMjGLkFoQgBI3eDpizSCPeQJxGj0eq2EUutwQbJEVFUgZircMoRc9xhiv9UZZcHzlSt3VLoQ3Ea6FVaoneNkKuihQ7GvkEffhvh6B9vmTblQlFdnU3j7RgD7o+xNzUoZ/kDOsMR5QUwxZwHu47i80fdzFCSsSNb0nKjYoVQVonWZo3UwY2AZY49YgiGb6amRiCUiMkQiRwYs4bR/49hhEEMCHSlCtlsJSMSl34TGJtslz9Nlu9chdHu6eZNo3IvLGKia5duRwarZY1aTABDGRhuVgMCjeZjL3nu/c/Zam3NjeIsJwtVOqNre2t0bQKqKtGm3q2t1t6Pn/uzHg8UqWmmc/2l01Tl957z5NhIc3i/u3PYGFzY1zPZ3t3lyEs3njj+ReuX51OxqZSLxs1pcKV3hcbUwPUrGAO1TJYU/ji3OakqqVZ7kPqYYnnr5y7dWfvj//0B794+68vXRzd3wlV5b75jRf/p++9Mva6OSz2783e/ei9G7/48fbm+IMP6nPbZ/7gu6+89tplQ3VwMC9LH8LMQaZbG+ONycHuwWL3XjkYuaKcbowa+J3Z7rjEYv/gnZ+89/O3f3j58tatjxtC8b3vvPTKi+cK1gsXt15//cr587S1uTXww3I02b0/m+3Nh6PNoR9AQzXfm04G0iwXzZJBk+G4cTI7mIfaSj9woHld7e3Wo/GQiEPdBFUR29zYcMXg3u7dxSe3i3Kwvb3t2UblwDu3ONhDsxg4NxoMvKPRZFp4H/b3Bh7FwJHTRjSEoAiePDMxQAiW6kYoGZEyKZM6KFscMMnn0NIJHWfTebBilqgZn8mjEDUTFUfMzsWCtTzi619+4V//H//anx9UZV1ZRT40tnz35z9574c/vnD58pL9gVBT0X/6P//knf/6k/3Z3lCHBflGxRCMVLnTNgAZqEA18RrlEITAKoAKaYAK1EXiFSYtOHgxEaqEEBLBj5hFi5zEnOHIIGsGQQAxWVvR44Fy1N4YGyBuClVFZmb64c2bf/2Xf/XDH/ywGJf/+7/6V1+89sXFfP7RB7f+8//7H9/56c++/o2vv/nmm1euXtmcTsuiGI4GAJgd2Bqt5vVcmoYZxaBw5NXUgpZWqBorDUYDZt5fHHxy65OiKEaT8WRjMt2YEjMRh1o+ev/jv/p3f/WXf/Ln45em//J/+1/e+s5bHOhX7/3y3/yb/+s3Nz/49re//c1vffPCxYtEoEgFQYpYztFUVcS05V79fEIgMiIiNRUIg2P1tGAiGmtKrVgS+9KuWk/Iq/nk4yVnzOpgrIAYBGjIiFiIjEgjUxEbqyvIW4MQyMTzTOoBVKgQcadc4ZmB6TQxmHgzapjirKUqQCNeaQDnhBAA74i9sBP2ZgWEzYgEXgo2KIdQiDrjaLJ3JEriSDzDk3qIAzHEIEyafVeUPEIZAJz40lh/MTyuT43M3OoRh3Y97aXkyG/sjpDstYRep42mBPR6iStJL88MEIpk9u/fj3W6eOs5Pe0i/dO3ZyOQxbKgDxaKLocHPkjywiV/fWTzU4qF80SdwRtYFEFZiQ1NEEeOIqe5Z4OxOm9ezQLrgnmv4IMSVQl15hFGUg2aqpClmQUshVlYhWuYeIFTkJEwKZf9hjAYDtfKWNF/+gFzqV2OoVw4EaG0UAjtxToIkT4ePfzI9nyM5ni9Ey54OnBdwaa9zd3HIwO8d4R6CXmLCSAgwKc90ssSK8tK/0Y1B0MqmbEROzTDIrjSFgWWbDPGQV02i+H+onQL3ljqxtRoUM0GDY+oHsieAouyRNN4VQ+jmNQPdmbO2Kvzyk7AQk7YGTPIyDE5NTIxwJyqNzhQIapax6egvdqrOTOEZJtwwHDIqlLt78xCcKTFsFAyInbDsdZ+92Bhi8Z5N3LsnLN6z5qagjTVZ8Q88G5YUG01gSgARNrAmxBIZhWbjNjKrenZyWRYFgUEDFMElTCvjcg7570HWQgSExypATOPDGAjY2YeT+0ff7V4+dyL8/lMLRh4OBxfuDg+7+/45f1vv2CvbF+/e29yf+eeL9z3vzOZTjc3t3k0usPqDFgs1FRLqDDN5jNjdQNTChoQhA20wRidsX/51uZbL39x/+BAQlN8eXrmzNmLF7Y3JjXVN1XC669dHRU88J5qanbqgXIxGjMbtDJZAuS9ZjYy6IwcMPWKgLBPACZsZGbVIhDBzBM8g6s9qmmLZDpQooZn801VrhjAyBRLNMQeCsXyoFoSIOqdGkgaNqMCDBRUAdSwLZ2KMyNDQaTkavEeIwubLDULD1zt3VKorllqh5hyF/8ACCKtSzLtcSZ9MQVcYi8RQJB5jZ+pBJ9LWoshcywfD0CHMZ7Eg7ao3B6RozFGY4ziIbf53u2Pf7g1nXjnJiKmNp/frXg2mY4Wk8VywLKoXCNwXBU+lJ7IcUNkQlU1lGbDYeyokIBQzwRNSY5LrdUaI3ZGIiaFDDeX14bLkRSzxfTTZUENTMGwicg4kEqx1/gDBobNwIkXcktHRmBVPhEv5UII1q3Q1ov9NNSVDvxoe7o9Ge67ZtDcbWyJYV1OqrKotKHtjcVo/u7s3uj29qtvPefOD22kDZZVfX9np26a0XQ02R5vFYOqqSyYF64X9f7OXqiqs9tnJqOxAcNmWFXLT96+9d/++q/dkJ+/fu3FV186Mz5DJUSt0HKr2pzsju1jm+3v/Wr63nW6+uKrL20uN7Z0c/nJ4u4Hn+nrUppXqJhWEsgAF1mYTFhMjYlP0ThOFDJjVSISUnFw7NSsMQ3KCk0F3Y29UiFwBkTWVoKyCalCPah4MqDKE3ETn1uiBniY4YYAyjUaDDjOvP1MflsxpBTI3NytVYBS5FHPQtf+2/96xEbRmepby752PdavAhT10SejHx/7XaxtaVnzCWI/5qDBlY2HhFY+0aqhKLGoJqo1ZO8BjMxyQYz+iGgjb/oY5ZQ7/e2f9Lc94vO05QqmX68z1igNkoSSR+zUEx1/o7GH2GBmmevEchxeDKl0XVI2mBAjJvXQ+3zE9Z9T/HLEFYCc83b0EbpcNg0NklmgTWCDgaEKFSaLESciIbKUk3MATCXVrHaRY0KAYAqGIzV2rnArNovE1R+5pIidmhAjR/IgJaJHdy5BlWAQ6U+cyb6iifNwe1qefe2Fqqrqpjag8N6XpfcgDjQgf2a0Obn43KUtZlcOS+892IEAiukdOfDRSMQyrXakNhCA2IgdXb64dfH8dD5fVouqHJQbk0lRDEEcIoYcDUklNCksg4hB0NRKyYSiqfxRGguxckt0YzITAcFSHAil8GExgwMck8FMgovpFpZrHZgmzk4Nlnoq3jYbXLsoULTI5KmAiVMdNSNL5JpHQw2eyeOUvh2oX49AoYn8VS2EUJSlNFYWI4Jz5Nk5JWmapqqXwYKyxviyAmRMwXFwbCAhYiYxqavlYj5fLhcSGu9dKLhC0KChCUyOnY/xXqYgjQWdgqARIlVTc5q81iRmQin3EmYGzVHGp8TnHx86kd4YgFAUnsDzxWJZVypWuHI8GmvQxcFCmoaNBuw3NsrLFy6Ny5GHrxfNnc8+/Zsf/u3bP357d29vcmZ67aVrX/3Gm6+9+lo1X/zdT378s7d/9vHNW/OdxWQyevX1V958880rly/v7N9/96fv/vyH72GkBwezYlCeO39uuDmeVXOe03K2BIGGZAf2y7ffvXjh/MbGxsXLF4d+II0My6F3HoDG+k6karCY/gWNVh01PXl5ONnqF5s0NafGUoKmRs5SId6+EfjoiZ6ot/qpwEt0kl5AQKxUD+pSF4xSngLF4l/PZC2JamzrwUnqTN9k3gtmSDoNr9LYRWjbelZWHAOWuQ6M8gKMdgXMkOpU/9LDPMWasv49rC9rXv9YYPNbnsE6xrjUPy1PHHKu4JFrRa1mtfvjqtInOl9NXVnJg0GKClMgMpLr2o3xeOVRJE+sPaZ7ffW5T2C5RySDwP4IsCODLq7CPSLGbHjpn5dyd6fBEEmcSLu11RSqBopsHsc9VPosQQhg5xwcADOVIDF5kIi9dxLTtUxVYmQgmKNzjSTrTv0hi8Ofo7mIVCP1iBGMW0ygQtlz3MaSZ99g+r9jJnK+KNl7VYvBhnXdKCyy/Pqi3B6OUoY3IYU3mzGRZwKziynxK3dGXVsYjInJDcrSOe+cB3GQRtVEghkABxGy1mkaPYjUliVAx7Pfb4BV8hioWRummgm7UzfEMcCHT5HbL23rlgzrfbB2lUgkW3EKWuEU0ZTe+IQpWP+ghFZjyI9uRPvOM3zhiVCWxXS6MZvPYuVW7z0xDwfDwhVhEWSmvlYYkSdwrHJuLHDGZGYmSmJOUAIDk0Iarg2hoTk7OCrJChUypVTRL5JCCKupgkVVzRQSfwKgpmS5dFqOnzjhea33JhMs8f+2UQoEgHUplTRWgRvWhe7Xe3/xn//ivZ/8QhvRWn71dzdkDxooVLJ3b+/W7dv/35//l3fe+VkjoiKffHT71o2bu5/u2oyc4cd/+eNf/+rXo+HoyqWrH31060//w3/55MNP33rrO+ON8cG9RXWvMoc7xd0b05sXL11+/gvXNiebDF7QotKlFQZgZ2/n797+MY/dN4tvLpcVGiFPYIhpY00yiBASvbgpOwY7VT3hpaJDs8DRHSymsFJas40oLeQaKVY7k9gTL08FXjokdGTSPmqptfZ/D5+L/0weJG1EOHqDO5lvW2n37nseen1FIOvli7Qa9gNfNWtBGbVb1n2QNY9/3Gsxrd0GjwJhUFSI2lwd9DBS2qENS2iN/KuDIo+MHm7u5frnns/4q2Wm7ubVdXGfPYLRtLY8ETXN12zGZDS0rMh29TqOZvEexhzdAEimmF5zJNqIDJt71t8UrtrbflJPGkxFYw4MM5uZKkTUzJjZOWJio1gkOUMaiiz3aXCryGmZLeSYszE65tiAiXP7SKyv1rvNhJo6hUstc7+AOPGCmmqkf2FORYctmcvzeeJvEfYZrMWrxzS6iUhsMMcxoDiqkAKkdiDinHZh+TBq29ZMmflkxSiBQVqhYmzxkgGnNWMGRrBDsbJdNmDq7jw6+vPOswykJ0COdTU8yP9ARFevXv3e974Xv3rvQwhnzpwRCU3dsA68kWPnQUbskquKPLtyUBaNU4bzXA4L8lSHatmQlMIeABqpRdQjOipTTH9aXzRy54lFBs5u7uqGlGVWkFP8S9o6i5HKx0ava9ZIHTnmAhIKLrw47FtYhB/8+Q88Oa2NiJYHy8Gw9OzLYlAt649ufPTuX/9iuDn8/j/5R2fPnb1548ZP3v7JT//2J1LJC8+/8NnNu/Vu/dz5537/W7+/mH359ie3L1++fP35FzY2N26/+smNG78Zboyuv3L9xddfuvzcZcduf2+/kGI4Go2n48mZyQtf+AIx3d+9/87bP3VDd1DNhtOx807NgoYgQaHOO4Bi+pmaso/eeF1N/D7UCtwnzTrm9/Q256nbQLGEVraCPAEr8cPKk4+XaPWvtfBHdSrTFieNPf3l5OE4tz7zL60rZmhZlzu8FJfGyB3aUTzkD5Y9EPlz6qeO2SGeulOUs9ptnTrQWhdXbcaPSx7/HTwB0ssTozQLUgueWjidDL0pcz+7EHIcUqrylGir8y6WqrSLWleTvTtryjrVtu7k42yFRyJPxBOseRORjZeyiqu5bJJlCo8WXqeLZQCdkZJFBSMpuxSRBTQnZItZQGT1NTYNIKPsJorFbE8eCWkxAMwk424jRD+ImWlbhDdrP8Sdhhc1LJwSDEzMyGzzAAxGKeTfEr26Ok5BgrkZ8tPnLc4j6VldXCPlkgrxvpI1Nlkjkh8n0gqTiXHn++6rpz17PxMzqxqTEZQIxPH2ImoiINZ36cUSUIZ22QRyoqRn6cMqSigorgYn+4Rzna7D1pBukUi1uKLjUcVUWl2XDh/1TJ44ofzWxX9DCJubm1tbW3VdA/DeHxwceOerqpJaiqYYyKAIWgYIhFjhkEIbnKfGOWVSSCNVXc3CYqlcmxZMimAUFGSkMGfRpUEp6ijF6EUaUFUjUZNoKxHVWClZlZRiydiTtUdqKXcFOfAi/wJg4HgwGFZhZmoGdQM33By//MbLZza3nbGI/PJXv7x771Mzms+X9d7+nU8/raV+/UtvvPXdt65cvXrr5q26Dn/2n/70k5uffunaq9PJ1p0PP/3Nzz/gmgbFcHNzOh1tlsVwPN64dPE5UxtPx9e/8MKrr752/uKFWXVQN7VzTksFMPCD17/++sb29Md/+6P3fv7eX/3ZX9XcBA6z5ay2WkkiyzoTw8xMVLWHJPUE7csgdHK8nplZIILAAsGRo0SkGmtGnEypcXJK8d+3PEV4iXuei/503CrpjKTZJ10tTaxPgqL9lIsBGouewDiaeXPeAzJgBfqo1tLKm7fH/0XuNzzQAm2HOtdiscqsB6xDaomoJq0na97AI5E1n+FRGA+IYcnYl6xxvXg8dF4h6/UorVidE2wiRN0U2bLc1t3p/eWILHQfqFcLdZ3nWOvotYVi4s9a53gE43FdvGRqRNT2UfSM0OqL/JDS2aEtulfULJe+RaTtSwycALI2E0fPA69FOdPGVCVVz0IKljNEUmJEl05mjLd+/oUpAKKTSioCoDbSLs16vSrBkbgxpb/3T9Nq+ZELUy1yJCdESSCKEYemFuOXOAW19rx4WaMhgykf1+a94mIWG03ECASOwBQKNREr2HMsbR2X096NUixLYKespfFRKZea6D9vVpHphFFBsFwdrVs74hdLIFzzrNKbGVIVl0Mw/Jn8bqXFzqfkrjxAWuCkqswcnZ+UXwNy7NkX5gvxrhHfqCmxA7MRwZGxt4IcFwOCVUupmgU8UKChpglBZF4OXMmFhmgNYSIYUw7pjmsMRy+KkYqqmBgQ03aUoEySXi45+Snax+/cxb0RbLCCikAOYqZGhRtfmHzrrd9/+YsvedB8Nm+kvv3JR3UTgkhV1ct6idIm04kjR8Ybk43RYOJ4cGZy9vnnrjl1o8Gomdcg+9XP36+Wy/u7O3UIX/vG1zY2Ntn5shyOR5NhOWyqZjlbMjnn/FxmVVOBMNmcXH/x2sF8/+69ux/++paqYIuqUKkJMTniXJ1WxVKZ4BBCgkunDYcT1hEyI1PKVcxBsfYEKRRIWVJPizz5eOmo0JGvq9Okdp1neRJ/JutIl0+bld6VKn+IDtkjTtkjE2kPQD21xsDHux6v3WSfR409RpIq00dE/Yvk2zwJnfWsIJZ3jmqymiooK9+9/KX8R48E9z1uzcoeDXpd9y7WawYzc5FqvAVL/eApfehnPHQbFguUQjXx9uXBYl1mZDsYjh6+cqJY1tG6ql8rVDJdSE07Jyl6wMAiiDrRL2KZyr09MGGL5A+xWGsVrRbVHRe3qIoGVZhpKr/AjhOXjhlDYdI00ZWU/wG6S66y43SzhCX8A1ORiA5TO7hoxCAPqIOKSQjJosRdAkZy+SE7iU4Wy/VDc5EsdCuxAWbKJ3nqYqJ9j7I/3kPugh4uspSZbGrQdqJ4WpeUf1DSAq1YWTXFiDpnKT7Wee/Lshy64UjGg2ZQBB2JKbQgqx0xk+PSu+E0FI3WLvjCuHSDcjCsCzOpmqZpmqXzAyU11RyKEP9UTdRMoADHetuGXLcWUI0aPFTJKFUrOOFZugDQ9JavYiVgf34QhByTsqg38xq8DLdGmxemEBMnXFIdQkXVaGvkxn64MQwafv3h+z965+8ufPbR/bs7v/71+1CdbE32F/vLsJye27r02sXNrc0KzU/+249+9eGvr91/oaFgBcFhtjy4ffeTjU82z108GywYmaruV/tLWzbc7M53qaAXXn1hv9rfne/t3tihhsghWBATckSOGgtBJagY1MgaUVFh4hMD7tpIoAe1khKEjAQaZ1ZTg5JGbpzcXk+FPD14qWvSdoGkngaO3sZYlxjRvf8EqCRPvcRV10BQSkRFGq2jBGYwgfhwnXS2jhQg/8CtHTbv1XmaLFex7UzMllfe3n2sI4QT7NAPI92E+JiEjkGlv7Ucemc+x/GaQU62MWZvUhtTmZeNZFeOWlKbYHBE+aTWsmFiKrBcyDSrQdTHSxYN7Gu92U/EDL22w/NRQd81RMmEgFiGGJQxUheVCbSxUp3P5RBAoTxTtNJirWDIeCkVDc7BHzH7Hzjipj4ibdFm5DyGriJzBBNKrQccgKlJKh0dUYWpnIiX0rEJx0cMk+tGpcGu2tMM2oZoP8RbiyTMFFM9Y5K0i9wRqiIhl1bOaKkt1QYjZWrfxkOtkUzfChgzOM3IFgsZgckRXIzEyPu3IYrxwezY0x6VmO5u1umRuTFyl8kJ51DAoa1O3d8vTgWxaTMc1XY2UEv12/REYqhn8juR6Bd6yD1bJ1L0zOR8Qo14yTmXyxtaMw87H+z5Az8I2gjBYeGt9gZiggPxMrDe2a93mhHKcbHRBK2qIKzOMagITa0BBUoyFWSyBxVRETUxBVhUPFQTd1AcdhoHliQ2Gj259sahiSdPa11KwrKZh1pGw+FC5wtdLFFRmGFgVlq9WC5tWXMDj4rqppDhdHzh2sULVy6+/+H7u3+6P51szA8W809n1649//wLV/cX++9/cOPe3c8+/uSj5y49tzvfwZQ2L2xtnJ2K05357v784Pbu7Z1q9/be7e/84bcvXr5kZNpITXVl9bxZ3Nm/s9DF+asXXsLLH3z2we6dHVMV1nkzXzSLwhVMHESCNEbGjsmRSFARkNqJjOKn8D2k5RtmKjBLpBKkkDRTJq+yrRzUO+eT81I/LXjpkBNpdTY+3JwJMlkmVX0idKOnWqirWJYTmSzPCq1lLxebTCkt7bqXqgkSpSW55YdIE2jvOt1L80T2mfU0nMd4D2tNH4fZ99cXigrpEbPFKn6mzs+bVxPrf+sMdTkyB6TJeNzGerW0eOnDWvK4e/KUZeah5BE8w7qjKaX4xGyi5B5J2vnRU3fTiMG6lMZ2KPRhlCHFzacgzAyWckpBDs483e2BjDM4R4qmwUNMBKYIZlotP63fEVNEFHSiog/AQAzOnqwYdyK9HyPtVrtU9Zwu7T4pCjA3XyIKj3lHDICZoxJnUbvLEdFdrqDxahvHR7Q+XiLi6C2SGAgTkRERAAcH4txeEYe2cPTh5h1qXWiHyeLTTZ46e3aZkEg+qthhbX0QUwLFrxQZEqGOOPRa9SFust1z3dn0mTyM9Pu9TV5CGueKOLZzhF5VVbP5LNz6eLZoZGIT5Y3GhLQpqXEWVKsmBLULg41tLWd3Z9Q4Z0W9CAuuZKCjoiiLYbWchSDOaaLcJwPFYLucHRsRlEnrxUak5E9AnBTgh1hlLNsU4tceWRyB4Ae+LAolES/jM6ML1y6WWyUNsJDFrJnPZD6+MLny5avbl7bntigHg8svXfmGfMt+9MPZ3sH+bNc7/4Uvf+HLr37lS699aT5b7C12K53f37t3MN+rtPrC6y++9pXXzz9/oXEBI7ry2tV79+6isN35zqyeNVQrhIjLjcG5q+cu71yentv0Yz+cDi5cvvDKG1/a392vmursxbPsuZaaFKxONIgGUJwnyAA1zQTUD5RT8RKbxlNZTriMxYBZEYtQn6hY0ZPzkj4teKkVysboVieznNCbw0kJMeRStcsPfSZrSc7XBRFRjKLPkRNJtOV6TVyRGTFZdGubGkzUnBGTY3YGElUVTVUxrZUVz0XH0LSuc+j0cfAQvqPHzGi2/mDORv/Pf5pkeY4aDYGYzUIMpZAQDCB2xCtciGi7NxmfKePoSL+s2eIIM2MCcTRBGSUOUo21qs1iyBDHWOj1WuLxy5qDaRWSrnWaNQ42hqkGF73BpmrCKQ1BmCgnEB+W/LJFtpg0TXA3zaSgjQiSycSIAIExoClMrPMv6Sm8bekfStTTnY3GDGijQixDL1vdIfGLnCLam6esW5O696X/7vZ/arfFRqE8+2m7HWrJNZbO0Tu8g5rWEgeuDouEPtJKqKLpsLxzvlbHg/wwwOZYOWmmPoKijj+DZDqndpoxNaWIx/S1XAAAIABJREFUmQ0RIROYowFOg5mUha/NYMqZMFBXPB6dXSY9YfZ7k+WFLWkOdKjtnsmD5LdKWzp2ZzMTEQDOORFpuR4vXLhw7fp1tzWcDwON3CZ5d//gs/ufjTeGNC5rlf3FXInOllsbVgSt9+slau9p5ACISaNO4akw50AI1ogJMbNjNWssKBERq1mjwcd4PEv5S2pCxgIoODG3nBaf9MDl1ADAeTSoVGV4rnjl2y9ffvU557nY9ju6I4VgCy9946ULL1+cTCa0aXM/57N87asvjJ/fqBZLAjz7zfHW+e0Lo81RIeVXNr9y5bXLs/1Z0zQgjKfj7bNnhtujZbkcPzf+zj//bt0sgzZc8PS56ZKXi3ruxJXTwWvffu3Ka1emZzZ57PbqffV6/eXr4+1x3VSb21tb57a4ZIGIiJhEh480AQGiSjBif/IycXJmOCHqeiaAEMxCQQB5M6tDEFPiVD8vTrRZs7fsdX+C3sinCy8d8i9RmlAP6bmZM8kUxmZPSqHTp1uOtGFPbbYVsBNjsozTb5Egqq8lZdq7hITab2lp7/kd2rjj/jV/d3Ka1vXfxzha+ylah0AGOWrRUk8xOYJ6dmFr7fkpdaIj/9KsrCQ0ne4uxXt2YyktWjHwJkLxpJKu+yCPX9Z+hnWPX3sxinG4MZ7NMsghNUs8ENyrNrAadJHZXywpx4kUMX3LZpeu9ymbfbWdfBLktlPCsDKu6N7gbnfL0WedJ2VVUnbQabLCK5T5T9otZl0D9Ld3n+nQLVI/8rZnks+74sizaO82e8As2b/b2TUbxBNcXbnJk7M1fpuh8jlHlaoyxSpN2f9ghlyGCwAi80f7OKqmSkwk0YbaL29xOKQnx2Qes460bs1n8juVFjipaguWYoReXCOKovgX/+JffPe73x1tTZcO5nlC2L3xwd/+6G+KjVG5PQlkAeDCDwSz23d/8fOf7c2W0sCEiDyTSycPSnDmErsDMRFzSlQyhoNK+63LXxJVJL4HpJJsp1rlDs0Zh8YQB4GoKQ9p+7mt7ee2CGSGhS3YE3k6c/nM1qXt2DaxUuhoMLy6fTWOSDJygZ3SEgsqeHJ+MtwehhBCECK4kpmdOaq54TFfvH7RWNVEVAYbw2BNY3Uwds5Pzm1snJ8SkUIXzRKw8eb46vSqqhBzURbgRB6qppoXXzWFGijWq/38uhfBzESj2QNksTSBWRwDarpyblqZ2egJeyufBrwUa3ivupVyS/YRVNyH2u8ADKy/jSHkmTxA2FLbtmn4ZgZrCwWjt+IDySpAMIq8wpE0OCrVkd0/qCqBiqJg55CmsaNTj/VNleu6VtJdPlBOrbKSEjMen6y/rq9foyRSa5lFhmPKWnCLmLXVyJAjaTLVnZqSAi4lGrQH9djD81yNLgBPYJLC89J2izTW6zyF0eO3o9jJw/HhTrHeGdbN+DAYxcylmEAS10RrE04Sc3fWYXvqbPuXvDx5Am9j4lL+kuQ/opQrlWaceF0DwXhN2Lf2CkEr2XS9jM1Vn9Khm+zvdMz9H3KR0AN+Ov58/Q8RyqaNdmjX3uG2ps/2USy0cS7JpQZSBfM2dxEdckY7P8Qdjq099UyeUInOJeeccy7mL8Xt3vu33nrLe89lOVcD08S5Ty//utlrhtPR5OymOPLjUa0ii2pncnv3051f37oVglV1EwRWMNjMqAmBgIJFASXNmQKRGQ9qHOuliompBBVRMSComLKQBagSMwKdyI+H0/xsYmpkxpHgM07XqfwNR4J/Irhsf8yqK/VKCgSz2pDSxInMm7JZCTCZM0IQaEMEssY1RqqmylpTowjilEwrqRRGoFgRLvHaxltRBtBY0zmzk8nKELPNHQGQ06KRT2kiGCFEY4yATEFgWCB1YsFMYs26FXlSX+WnAS8BPTLxKIf8S8lE15n4VrSp9TPk/6GLxcKFFq2eaYGydlMLZrPd09DFsKS8JsAQpwcy1SAmqkTkvWfvAahpqh/SpcIQGdrsZuuql3xeoVM15JPI/p8ELpdHcW16NO9DbqpkB84ibTx3CnNpG9RyZiei8zHZulPKmyayYMukrxbMnJm0pXgAARwgHbnxevL45+TejPV5jn4EIXm85vRIERGvZJdluJv1b8rW/RYnWd8N0JloD0ELi1DZTMwURGaSyxQkV0Oab5IyspasZ4NYHYt970937t7THfI+HXeOw7d0+v21RORHDrB+w66etNfyjyDuZX0XfBw/RDC2+DUlaVnPy9aGfGfbSrbYPLOMPi0S47cjWAohMHOkyxORra0tFalUB96T4yEwGU6HNhzaYKQDIRr4yf5s5qwYl1NPpYqxuSAQsSCKIGSiZkSRxDsZbwxt8SWIiBpEVVQspQXEBBshZSETsJIalHAaXjpx5lGoUeSWSeE0lP3qBCZKDIEpGbzFTMmjTWQgNvI9l2m0DgGtsUmhZERqDWozUwgIbGwQYzOOaKfpW6yw8uanuJ90bYr/rDrg1yvKQzAiSUs7SA2kTBac+ui/a+fHwzNe51B/UuRpwUut0JHmy/btLt47h4BHZexJau6nVCwlCxA6W5+1wVJA1o/7HiIDyLo4EHTpuzlkL2Uzx5ez06g6FZuIiI2oZ/xY8zFOl5PMRXSqtel3LcnDuoa0XFdrnOKQMmiH/1KaGxMT4h+l8CvrYmIOSYLYubRojJBo66us8j3kvdZ5iOPv4u9RrJ251j7L4xSLvr7oVtLkVjLtIFMvJCC/5IhqQy4Zm/X5FUeyIUVjpfnGjCIHmuX8JeQp6QkYDIfQzrGfT/Av2bFo5eFvqbVcH774Mfdz9AqWMfMjGEzrNGN885P1BUogTUpmHlRAMrgkqooehX3niXomT4FEU6llvgdV7cwngKiqCJgtVoepgndsTaiXlTrC3DdV7QiALet62dRDB3UmTis0jVRkS+LgiNVElVMgZwJLqgolEgNZ5BNPVf/Q53uwOOZiBNkDniGupCeux0bamZFT/WnLZRwNJqB+ImFyA0RaFwBkYAY70mifTh746DxId58syrkeWXRfSQggkDEAY9M4Z3K6W8upEN3r3pJUKCNFXrR2l2NSXn4rifx4ZqZE2qLWVF5P20CkE6Hnk6LDPxV46VAkgh1FTWbtZBu/p38Mz6xOj0C6hd16+vERC7/lnkmdEJOe+9EpqytyF6zfBesYZS8Q5U+rRujHLI85iKt16Xx+OW1qOvX4Ttc/Zh5r+y4qxL1gLGrRMQn1ozgPSSpb2atH2ZoILae4mK3dE/YETMJrJlfaarjq5z7FWifoFNY2VLIfsbtyfuvBozxRxw2rOJryKGtD+/omSH2E+n13Y2tr+oe+H/ncu1vr/a+z9p70LKur3TG/GumRbe2uh+IyDp2Kup0f7+zWM3OC2lGSkXPrxQYyiWBrsmsHyWHk/UyeZKnr2syGw2Hke4gSa9eyc8KsQFArC//CF19QhhsM1EELHk4mo0F5h+CGTkjVIzjVwsRroAZWkQVP8BbIPLLSoqaiEsxEIQZn0oY5JFyePqSvCiV6YI36NNROKdB0uKBNAiPtf90ESYenyvyPZWd9jO/JKRCkqhkvcVxmNVH5kzYx6I0FKqTtXJv4O3vwJ8UHgjmePxaHwMrLtKYGrRBObzFStqtJWxJ3pfjAqhyj6D9ueSrwEh7UaHmS7ECS9YB6xsVPiKb9VAvl8Z7CIbTNcI6mvdWd8xGt9HskZ+WCYhAzmTEzs4s75p3za5tf7U5H/7zyUOPgpHKK1FPdHo/Qmk2AR6EhZ+04fjniHaBOe0G3LUG0DhgjluVs4wx6yS1ANCS3qAk9P0MqHvMIXurHPS3EKNe1TkFrPoXpuuuRGdAS2fW9/BnhdsGaaJ0F7UzS7rgyhyTmu+jDbscAWQxuSSOBUhjno4kjW/P41XKxx5y79++hGMouGPEQmsr7Hjnpih+u+78lyJQJ5k684wyQ2jwJAOsHPK8tSWuNXInImKgtymRIfA8pCjQPrhY1PZOnR1qWhTjpW1IDMv0CcTBTQmM22t58/atvmifyXtmWoRaz0XBYlG66PUXJ4rRBCI7Um0IUAqlVAKe+F4xqMZNWVYgsk9IoVLJ/SSzyW0f/EqUV5+SnOPGVYQN3VqD05h9Kye7WgGS8WDmhQIwko6UciZc8MsirrcHgPcfSdORYM/6EQUgCBbSusHQH6R5i9UyYCKVcZOvPWMiTxFqrhEkkxgObkZpCBaotwc+Jsu4S92jlacFL6EFNyn8tQMpiq3/JGvnY87r/+5Gkv+RspWNHu3Xm2hXrJSIFlhrDsXNgMrWmaagsUigzTFSVU8Bvyvm1bGk8sTA8sPpKt/vSMTueICc61/Wxj6Rc+HONM6APck6W4+N7jNRyMFUHmpDWPSayvBYmyGOHrplTXuOXLmC2xwKAmLvSw0uJNC8DaDqu0x/u4fNx9Cim4vW64jHQFx9tr9NuwPJRdHQ7WtNG28dECpWOujv1XDomQybrLtzTFgyRQoZ623IcJtrSRK09sudfWzdKde1+OP7wHhyl4zYCGS0+2MR6VHooqveKtowI/T3yimnoEtXaa+kKslo/DmPd6THGCh0OE0kf2j/q3M39gx8/2Hsmv61474koLhYxfylq+d45JQhsiQZkk5HbGG6icHAEsqE0xjygweaZDT/04qTmZo7lknjJtaI2VITaxDkTlyutRQeOxSBfJgWrQlSVVFREBYCqkHJiaCUClGi9CHxl0jx5diVfey9Km77Tj7fotBdTViWJyyRZPIAiyQ2DQczphYAzH9n4HVjqQEzMXk3VqbDkq0b+HfScOrE0JuXJhBKa6qZg68+5v70QIKBAgLGpcgRKUBETMsthhcdLa2F6QuQpwEuUtRyjWJ8uRdhRDPfKba09PiYjKGUikFMMBM/k4SRxUcWkJGMYa1Qz4luYdV6DM3AKqSDEUtldKR6NUbjRkmSJQJajsZiiSqyxx5IbyiGXVczsw1lFb2+sffGPg0m5tqU9lEJgvSL3hx4feEKYQ+IUkuZVWn3mlb446fhDX/r/I8rdGpFJ/t6DKAZTFRCcS4sAJSStkcJAM394CoTQPEzSXZKSMzZjg4HBrmMjZ7FCUAKlRm4RCJmwgUgZIQcTMuUBhe6+TpBW4090F4pU1iY9d+/Div3llDGzntlNcXLd9BNUQAP4FLS18hsdt9HgIoELJTrw/D6n3mqHmsWJNI+BhI7jHZIFCoFcIPIGCsrgQUChSlA4qEcgBFXReLpY3CQFvGjMR2FHAJjMk3gLLjpzE6E4x5s0ExAzohk11a01VQPhxGbsgbMHyNorsvUdNStX7mv+bdPq4YseiuppJ6FVfYFWf0Vve2bdAPpzwoplWJPW2F7q8M3aqdVmfrdikfPQQESWKeqTF1FSyTUVEJESUSAWgsIEorFmWwJcHcS3rguO6+Lj5vhn8vchUUWOeAm5Xm2bzsTOuaiza6xPwFCJZSuM1BBrVkDYKm0qaUoTM9VGxYKSwlCQc1Rw8E6YTZWaYBTIAijEHLh4dm0ynzgAiJmZCkySspOYOU94kFNwRH8warLurLxmlmfc/jl7x4vlFqCY+6SqMHAs2EFkBBfNJTHNlwhqJqqAM0q8KNpdQvMqnDAS5xU+4yiAiFLho3SDiqO5Fw8vhJR0mkydasampKImpJTNn21rrUyYseHWSR94tPKk4yWvKFUZGkgr1qXXpQiYYMKmzoREPBgwIa2d1QOuB27packYQlmD1/AMMK0paiTmDFyQDQxlkCGsVgyIFapkTMQgU/NC48BQFiJhFua5pRKCzOZBEsOTQcSevHfFwBeDalE383q4MSlT0fa40BM5NnKBYDAPchr1AqQIjaTKJ2tIW4alr7msoJ+EyTpp8U8qCtWL6z38hmrGDGu9ur31+/Mdn/mZmfMEmhEegZjjdHzS+SPqRC7RmaNZes9NxMRiEtcQx8TMZrHONwhgD4ZKXUGNyXsQVAszq+rl7n6YL52SJ8fsiB28V9UgCmJPEDViC+xqPyAumJtCbQA/LYsZzetmuajL/Xok0JGbICwN5jAvIKwNrCZbEEBgs9K0jOsH0rRqmWm6//iUi+ISQMQMEIENaCABQsS58xNg6ALKU1/TIVP3ocY8ub9OhnAGf/IytDIgD/0EIhOnobtEN+5pZenpVmwcwUssNgCDc/kki0SFlA2sFHFJIi1Ujd56BeIhKMx8XdXLZTlyKLhW3pGp85cWuLRY7HKDqavOlPtD3g8KIWb2pfJIWYI61AAru1q9A3kKE1tOwt44HIxC8EFMVdQ1KJjgLFhTFU6ZVaVWMc/MzE3TmHcGd1I74rSeeAQw4YSOzJPPKUecfhNHJ6eVsX70BCuxNSvepCNnAulaU9P6QkDRNKxK7JRVmQKZEMzEoSY0ZIGk8Y7VSiOFDb3VRai5qstis7SSBaSBScFGHAetINtIIgTvQo7Sx2QaYos6aZdt/0x+p9IPv4584pYMNwDgDGNDaezMgRw8R9UeZEwmhkBYGi+IaqKx+I1mXO7rkAl+IBg50sJGQ5mWFS8N4nbn6maFU19U1kCNCiIKzmaqMCCgBABmIokVEk6KZ1l9jpN+c8rcum26nVdPffgM/bfbIEaR88qQQFK7CzGIiM0AaINGvVDkeygDI1TcGFRZk50r3gO1ts9kFEtaFLXnTfu1eMnw4HXoNCFACZKX2bhQe2IyNmEEQBlgI9LoTIuB1xyMG6I6rj6EAhh9vht4tPKk4yVn8GpkJqyVs6W3KqgjYhVn6kS9wjvSaHz2qEsKJTceFVlhRiqsJ3pUn2GphxIOZmDviUq1MmgBGxgKmKiKiZE5ZiIqjEfiRKkhIu/MuQUZOVcQD0wcKJg0qiUzF8V4Y2Nja2u+WN65/enuvd1BOSqchxATNEYYKymTguBgQlBw8iz4FHYLJI+uKhGzYySTTaxq2ibNgEFqjVkDYFXRjaaURLRllkskxJ+AbJ42nBrLfKpQN099PjEzmCMQGVNKOEj/MDFH6HiKDp7XgXgzMZ+1raIEwLEhMRYltbznxqVkB6yJgiNyJBxs4AoSPdg/uHvr4/nuwXgw3NzYHAyG7AuwM2aJMAzRXKji3JwKaBiIDh0GVJ6dTu85nS8X93Z1azDG4JzzGxzuOZp5qgpunAVplmoVk5LzhokKjIxipFbUdLLK37W2ESwPGTDUAI57EUusJRaBVNez0T+WnpV7GTlpEel0VlvxRR0jhBMBVeQNeqDPso94jvuVCOZajwJ6QR45SygD4daxetjDKmpBmR0TE3GMVglqRkwJRJFqLJFBEgvRUiK9VGOQKYsVIZA13qpgy9pGM5yx4tJ+Pbl//65WtlXQhUkz8ItgpTCB2KsbiGskMBE737iBSBlUB2gKWRTNfhH2y6CFmikaKyCeSIcw0rpwVpAJmjoEdiXzMHpMHsJ79OSrwL/FtHDMrg8kcbEjH55QIbOyEScCZ+ZImMgZGIZAqMkqaA1dOi6ImiDm3QZb7aXhJjhHrEwKUyFTTnQzMeMxm4gIsQYc4miIRQHNYPFdxjMu3b836bPhHbuRTb1YnL1B3MYTgMAUS/ZAyQXn4Xwh/z97b/okyZHdif3ee+4ekVcdfQIYYDD3IZLi8pDEtTXjmrTcXZnM9EF/q8wo6YO+yUQuKZJDcoaDOQDMDObAAA10d1VlZoS7v/f0wSOyCj3o6uE2bVgYq4dGWWVlZVZGhEfEO35HkDPv90gSqe9U+lKzaFrwMo6a1CD7yhiThJhKVqgSSlAlAxG7U7EIwEnB6mROFTBAmsTcS2zn8xpt18WvtEXosplCn3ixXvm9jJFmgWIKn3yTZyY0hx7gr3wOv3zNr/tprw8CKiEHcjd2E1AwhnNwRiVMd2D2ZnzeejYE4+pUiApQ+Xa+9M+Kqwd+uqhdstWIIUTSxLdaux1uVFWqQq2KlGle+Zy4OYfiBocRVxZnLoQAIqHsntkzezTP0OoOZmIG0+wPAHKwmtjEZNDZ3BmAuxLTgwcPvvH1r//FX/7l99767oMHD8E4Pr0Tuz6FUKzlwxAQE5oZd50TOSY+2K4d5Clb9uyA+8x1mRpYLR0kV9dDZnUVkXv4nqYL3GEkgfbR547jS0P8rzZ6/6te72325g6bQEhEmITJzKZZynUFk7uaGkAszG0mP50205C+WR4BaHhyd1OdGlnExMI1DzUPgaXrkoDVszBvzy5++t5Pv/vt73z80Ud37959+PDhcrEgwKqamTC7eTWdlVSNoaq5aq7MHOPnv/Clj376ztPt+IMf/ZT1XvrcySItnBdipiRKhY3VVM2ZnTkQLTwuZ5HxCZkAv9oUnN2RnZllNrwmn0tKBwW35gQEo0vBtVmTYNqzfnkLcVypNg99t+fHBGR8bhgwXn+4r1kpDjBBWT7td65MVS/JIL/6fuTkQk8mMcOpuDIi8zZcYnI3s+poTVinlr0QHI2269mIeIXFnS3CUOIoPZZHew/v/uLDd37+4V6pO7qzuvOAYg8LSkN1Mmd1AgcJwiE6QgVKLQqt8OpQMAIhdghLRW9aiCAhUQgliEsyaKm5gCN11kXHHijX7sbba/xnIJxQIlSCcTCRylQFZep6G7tzI53EWE12CjN1WI2w3rOMRUYPxtSEiHxWgwCmc3Ve/NeflLdxQ8LnCf+vnLvkYCAQRMGjpkK+yz996x0Lxh1kEV10yHvkuOTj3vj8l2dSpF+FoCTG4lTMXM0qm4vBzGZjAlMiBVljHYi56E1YKy//Gf7VtoIAYpTpTt1glA4j16a1QbM2YbtBi6O1vAUI7gGTwuBNqVNuyud4YdAMmqGplTw1FlUNDiNSarQ9hSqphapkphJH4uuTGr69m74oFBgYymYEZ6tsAT4IjUKRPQsVQWVShrZBtoPMCcpErV4i8sauZCYHxmGA45VXHv7n//k/nZ2fvfP2D0stT54+/to3vvH6m28u10deC4AQY4qxAhcX52oWQ3AntUkGFE1Jk4mZWVjNVOdZIrV0tU2g1M2JyC61PxyXnmz+qWOAK/XSfM+lT++K/XPipe/V5FbdYUJENPddaKKWfHK7Pj0UVr2CSCAt1zaYWUuRSbiplDoRiTARwZszRkOYw0xNK9TYKRgF5nEYP/zoydvf/8Hf/+3f/tM/fHu33X7xzTdfeeWVlJJqrVrdDICqqikzGaOWzBxSEFcv47gI6b//d39a92c/+NZf/e1333n69AnL1/21k2jLSBx8jHUMHEPs3HPW7MUorTgdqap5cTUzg2tjqjJPB9/deVLjE546b3zwbgq1RpsINe2+PBUXlyC2TxRDVzFt86F8UeF73aEgUAUN10LBmoryc56DO6VM6ys1/KHAn5uQl8PGT/0gFLHr5QnmadTEBWtnlzJMWDgkrmowM7QPy0RkaFYmVNFpPGXabNX2iAOW+9z94Bcf/tW333n3g3Ne3bn3xldOXnkTaa3VK8cKURKFOAMSFFxqHXPJeex7hzAkUVhQioirQuvKxyElRR2oVt9K5USJhXIqtbp4imJsW8Jw3XG47Yl9RmIfExArhSJSmQs3XS1jMDuLiZDYIlWVLVFhAuuQzJbIPuQ0ejIwwdzcTG2mTc69jQZDugkJ8G28MKa5znw1m++cTbQgAETgrEuPp7zEWf3J332/+hgWEhdxN144ObRHXa7iIgw72mK56bF3GxSAwCmEAHipDlypl4xgREbkTojF+vJZmEzf4CBHDsikTeucAVJnJVKFGYxbQ4+8FUvBvekkKzyBOkcwKCG8CG/9G4rPTL00xVVwgcNhatYgkmbANMqAEAWmKFyZ3Og60VyH3l5BXxQKVDc1VFBxFTdlciYXhgEtCXatpmZqpj6BbWmG3LowiGjIJYik1OWx1FIW/eIP/s3vD8Pw53/+f/zsvffOzs7f/dGPfu/3/82Xv/rVo+Oj1C9JREtxeJyxZo27M+Ep5u6/WQUxATEIeKYvAu2uWVXNqqpz5DCfdzRLOdNEowQmmVrn6emrcLwJqSf88ooPL7XYZgAezI3n7kGbe81MpEtro+e9BzHh4HoHEJOwgJyZowR3LaUSgZnc5oEW3BRmOgxDZFqmXtyh+vTp03/81j/85J13f/i97//sxz/J+/EbX//GN7/+9c1mA2Acc63asOlqqmYskeAwZbbAbIEtqzO++Tu/k1A3Kb7193/93gcf6t/84/vv333jwdHDO6vj5Yo4qe8KWDiCe7jm4pYvRJiZmDkIgwTuBIU7Ne90JjSLCqtNMhbubmTms8rBDFijw1E+HKCrZcYztdLhKb5+cEF+zWSj+RTW61grTVX7OeuF4CAiGg5CHJc6g1dxHJeb9KufhAy5YJyfmtUJWYQZJCAmCWABGVTd2zSOnNgcSqpEoKXxWsLxMJZHF/v3n370s48uvvPOz3/y0W51//NvfPV3H7z+xfXp/aLI1dSh7tVM3WGea3UnBTNDAsUuiADEBlEP+0Lne4h3seuINI/b0ZTUK6cQoknNWs04MQnWfO2N7LZe+qyEUnKKRqFwKMyVoG24hCzI7WvkpYfggGFZsMyoSEc5x6FSrh6sIbTNpmaDAzRdNOEv1+26jd9cPOPLM3WnLrud0GqR5Wtf+NL2j/9k9PHj84+qjf2qo4Af/eSd5bI/PX29lgUp8uNHu2HsYvQKU6Pg7m5WiiKiDT7I5ozCmtE2ucMraLwWnHQbLwxyVMKkcOvkaHAgMtdL5/FJKPaA3aDp9vqJb25E3Ph6iSbj7ilrceI2sZv00jgICTMIzsLMgTkS9cDS0TkqxFiukThp+pK/uc35bIYyKkNRClFwY7HCXAJqoFKRyQeYkI5eq1W1CsCdSMBOwZzIufEhGOYK9xgZzrmMLPwn/8N/t+jT3/3d3//w7bff+vY/fPsf//7119/4nd/73S9+6cv3HjxYLFdd36/WK49SJkJou97ZQaugIQGrWa0KAnFLmCenHmFnJhEC0ydcHT/pkdlOZHd3uqKtCRwTohN4AAAgAElEQVRa9O7uav8SN9yXwuO1wdqs8UnTcIzmuQDA1+r6OjsaQQnVptzissYwliAcAsHcVE0r3Fk4cGAmI+IUbMhnHz958vHHZ4+f/uRHP/rL//cvzh4/EeKT9ebhl7/633zjG6cnpzmPqppLAdB1nTfqFxOE4OiF3UcdVYiYOdeyWqy++Qf/9s69V1/70jf//v/7ix//4Ds/+fb7r5yePby7fnh38+BkcbI5WvboAsfAiTXgLI7nZEYAtAmUKpExgQWh3VuLkjtZUyRxsUkNhEBEPjdSGmzzskY6uPPR5f36skkzD/EcLm497NrrJ13j/k6gCuTrWf5O1wm5kmuvwwF2dHmzoUvlaJ+umjR1Zuev8y9ko8n10MHuDCIwmYmBHWKF1cmQnAQUiQNIHMEA9VqMdqU7K8uno37w6PFPf/nRLz46e7xTjet7X/3mq1/4+unDN5bHd0zSdrRcvCI6pwoGi7uXUt0hKcSOOHDoQq1lNB6923n/yzO8+6H2nhaJA2od1SuJkBSBkJmNOZt7FwPbQ/HrduMLh663cRPCgcxSWJxEOVQKikmEla2IF9ZCZb8ZFhLiUFGRsqx+fiFD/PxoYaT72RdLZsBVVWdvHxC5W4MY/Gtv4m38uuHUVN0cID6oHeOyuCHjN+6++r/9x//1f/n3/2G5XhqbQ5n9448//L/+/H93q29+9fcrnXz86OPvfuuvv/v+Ex1GGlyUKQXFOJQ9qkWWpkagzADYWm7eaK++D3Qmt4vm5cJBBEZpUHiHOdjJndhZnQlszpOOlUMcQiBDdDCMITwjM29E3Ph66Wr4/O8Se8QSiJnMfcqPTaEKrVQrqoKNOFzTcSe8SNL3NgC0dUuTFq07JpEF92paVKuaMps/0w/32UMJqmpmy+XCzcuYQ5DUdXnM24uLe/fu/eEf/uFrr7329tvvvPXW9779nX969+23f/6Ln683m81mc+fuvS984Ytf+sqXTx7cjctFiDGEEIIw06zb4m4wVALauMubtGZDZRGxNPVyKmb1Sl51tVqaiUCYNu/qQ8zte2B2nX+ZeKnFNnvQwed9TW2Q8mtf1YkosADzy82ZheCMZopEqmq5krsIpxBEuJZyfnb29MmTxx9/9OTs7OkHjz5872cf/OL9i7Pz3W477vavPnj46sNXHty7f/fOnRTjMOwJZGaAd106PjlmJhCEmMAOY3JzY1fh4Aw1G3ONfbr/6ut/1C8+/+ab77z17e9/+29//uMfvvedH0cf752mN169e/eoXy3TetEdrcL9To9k0rNqOVET/WmSH8wwLapKANwZkAbKI2ImJia4eTVXn4F4EzmJQD57K09aRIeLDq58bb+tfi0bmK7MfD7tSfsV0N+vxPNvFQ6IO09m8W7wydWTZ3wxTU07zJO0eS8d3tGdhUJPjQKPplMkDjGXaqRgCX3XrYyiOalRUYxF90PZ7YdcyjDqL5+Udz/Mv3iyP7/YZhdZbI7uvfrKF7728PNfSevTSh0kGiSX7KDVenN0dJxiTDEaMNZCQk16HuSllrIfhlyz+vk2v/X9d8eLCy6DWNEy1pzXS+n7oKY5F1Uv5sRIkaCzycnz9vVtzvPZCM/khdlIlINSUEhrDrFXscJWpdY+MYhyhXKssvxwoJ892pV4st3X/VCONg1qMJ2mTOwMmtR//kUs127jNxGtFTjbUR9uzfPhM5D5ol+8/sabCHRFHdOPutX9o3sMe+PB6zXcWcTVe997axyyh1JLzSUjKUWEyORqqs2HRt0BSJtFz8L6Biq33MeXDAKTR1N3JydulsFOBzN6HLiGhxe0r9ON94V4md9o3PR6yWn617Rr2i291afk5PAKZWd1q2ZmRWtByZyz5Bxz7hAWcp2E/uTqcxvXhhs69wqPZqlqzLoQ1qKxqqhx698TMzec+aGc9UM7yEyrldV6Yar7XQZCjLRYdBrk7OmTGNMXPv/6V7745p/88R//43e+81/+y1+99b3vf/jL93/53ntd37/93e/+P13qj1abO6fHJyf379//3Oc+d+/+vfV60/d9TLHZODjciWbBzckl1c3dtH2cVjfhk9XQlfHSbPQETFgq+NWEtklavCx/6aW9sgE1d1VtyhnUZAGZcZiEzZ/w0/8MzdLp7g4IkxBPiYSaqrqqlrLdbs+fPj178vTJk8ePHj169MEHHz16dHZ+5u77s+35R08ZON4cvfHqq1988wufe+1VYdFaIwcARYvCSCRxin137/59kSDEFATkbq6aIyHEaG7FDBIoLd5/ej7uh2V/9JU/+ndf+8N/+9XvvfWtv/6L73/nH37xk7d/dPbox2cfR8/LPhxvVnc2/b2U7wY9Pjk6OtocbVbLZZ8SszczluqqQs5x6luxO00lvrnaRPaKaMAMNNyOT9fmWYfJzdRNCQ7YrHLkU3kCB5g44lp85iRW/tzogMU1EiKTdtdzCioHInxJ6u5Oh8qPJgwDMxEDZN4Ukq8IgM1oVQfUQ9VFUxADCVjA4gjqXIDqXAuVzGPx/VguduPZxe7x0/PHT8/Oz3djKbnaRfVzC9ytTl/9/GsPXr3z4LXNyT1ZHHG3lLQMqVfQfp+JadH3Jycn9++eLlNIAaUqaU4hKVWDudswmOUi/er4/uvHH2/Pa/n2j57auF8vulrq+dn58Wa5OpKcy37cg4hFnNRIqh2r99cdCH6BkOFt3IBoS/ICqE1Rc7r0OrmDndlEDAnM0KpV1RFMBTWt+81r6/Wdo+MHMa15VqYGMAOWZ6DpDcq7buOF4YDzFSx0O6aHdo+qWlER4Qx3pSQgwG3ces9HruPZR7t9kFIdHBTUdR0lGSznsudgHqt5JpgR9kJ7odY8DHZ5k3ZDuJVMfOlw9iFUJycndibhSOZGQkHYMpcqRbkaVSNtorPtlk0zRO/mZOg3vV4CLjPM+bZ/meu6Q22yGHOGucGVgUCcwB3RCLDWFw30bu+lLwoiVgiU3agWrspEQiwgJmYiYQ4iIQYJQiKH7HOqa2ExcOA0Dvs8jkwkIiVnSmlztPnwgw/g2BECy2q9+P3/9vc2m82bb37+/fffPzs7H/bD4ydPPvjgg/d+9l6BhRQWi+VqvV4ul4vFcrVartero6Pj5Wq1OTpab9Z93/eLfnO0Wa83XdfFEJgFk2WMgFsn6gpvZTr43vLiGehGrXI6EINwWCUvOWF6kcTeJWPm0592JoKbu03CuM5M1mhb4Ok63/KEaWo2V09NLs5Mi5VS8jiM+/0wDrs8jPv9bnuxPXv69Pzs6f5iu9tuz87OLs6e7rbbcT9sd9thu1PVruteefjwcw8eHn/ha3eOj1fLZUrpaLO5c3q62+4udgNImUVVSTiGAObVan165zSEwMIsXN3UjNVEnIzJCe7MIqmnWEmpcPzF4/16uXz1i7/DafnKG1/8+U/eefSL9y6e/LJsH++2548vnv78g/fT+Ucbx2qdVsvlctktFqnvwrKzRc99x10ny0W3XKQuSIqxi6GLMQQOrYAxN3gRVVaftBVtQlBj1nd0cyEwE4wOU6apC3ZJbbp+KdC1uEiA4OkaD+SGRHk+P53Mq9oAvzRIakcZYLgQCcBGcOLZw71dPnnOImHa7eumKFRrUS9Vc837cb8d8n4sQ9az7fjkfDdUDLlu93k3jPuxVqfY9cvFOi1Wx/ePX3/l4f3PfX6zOQpxQXHBqRsV5/ts465bMnOoag7uuu70+PhoswZcS8njfr87l7DhEAOzuZvaar352jd/N3Aa/3TbS0AtqEXgjx598OMfvxtjWG8W1XK12i+6xSKNeTjbq8rrJptrD8SNud/exnODAGP7iDE6RUN0BJiQszvITczES7DRarU2GY2hQEZOtFhvK23u3FmuT5gPfGQHmkYmT6Pz21Xw2xFtcsiMAFQzc2I0EQeoRgunq9OPHr3/4fuPdEMikse62w7pTh9iGBmjZjZVLVHHNsLKoAICiME+k2aaCt+va8J0G88JMljwitqcaQXcjD8EXFCdqKIomoa7OTVPXyJvv07teNycE/em10uNKDaRNeeKk65iZITAXEs2hwivFv2m7zcprUMIVVc+cOokxFob+YWFxdys2YRTY6Jda9B0G4A7mxIRJY5dDAGBy1gvxmOKfQhLCsFB5jVXdSNmd1NttBKqasQuLIFDKdkNMQZhUahWzTnHmIQll7LN2y73fde9/tprfQyvPLj/+PGT7fnFxXa73395n8d93u/2u7Oz88ePH//s578Yx9FMiSXGEFO3Wq+Wy2WIMcTQ9/1yuVwsFv1i0aUUYpQQun6R+kVskVJMKYikGFPqUpe6rms4vxBijCGm1MUUYmyjm0ZF0VobLP4Qz+A7fo1T+wXkRZ4A95+4Th8eEoHJ3bWoaq3aVOeq1mGXcy615nEcxqHkXErJOZdStdZSSs5lP+yHYcgl5zqWmvOYh/0w7PfjsN/v9/vdbnex3e92eRhqrYFluehPT44f3rmzfOXVPqWu61bL1cnJ8dHqeNGtFn3v7vv9ruRy9uSpqQmLBGFhr+AQNkeb1Xq9PjrarDYcAzG7exvGMzXH6QqwMBtoGHKIiUNXjS7Oz/dld7Rare6+/rlutTq9f+eV188+er8OZ3nY7S/OtudPPMOrXFyc/ez86cXF+fDheclDoDElSom7xIs+9ikIeWAOIimGFEOfUkopiATmQB4FIYYY+hAkikhgaVtAEKYYRISJjImDEAsHZmbyNrREdS7Pso8IE6zxxdWUA8E94RpE3yel7a4UvtN3e9BTsJlpVTVXneVW1LV4E2gpqlVhatVMzXIuudRcShOZrHmXd0+qeqk117Ys6n7Mu1LGolltyFrN03LdL9f96nTxYHW6Wi03x6vN0Wq5Sn0fu75brfrV2gy5mIIACVE6pd0w7s/PRELs0ulmce/06HjVLyMlVqpDx06LFMUV2lorIkFCfPjq5+6e3k8SVt0ispD77uLi7R/+QFZ3FXp0spFAYOr7SOxjGSqk8FopXbezb+MzEARY9DuMYhBHAAQu5AwHuYu7uHVssOpwFhBzNYzwSuEiF+cQ5WK/q0TMLG4uIbij5AwmrZVCFBGzNpm/OTnYbXxaPG+w066XBArMzq5G5mDy0Hrq3J1svvFHf3h29jRzwGq9y/WHb39Lg+10P6IidSwxezE1dtJq1nR9GQQydXPiBjJxmPOtnOJLBoGqedbmc2VVLXEcc/WaA4q5V6qGoihgdVQzJ0eXOJCjFkSZcix6eamtf4G46fUSJqNlb11znv7NkzoiJ0gUNjY3AhhUx/HJBx/87EfvInR79xIDi9RSQQgSQ4xwU1UWFhEHrN7WSy8Id7gJGXdB+kBste4uPv7l+7zdr1fLBUkwCKBaVRWTPZB7c1VlBouDtKqQhC64u6kFCQD2+30zmRXhuFgws5ulIKfHx0K8iOm8X2yXy6raRBxUa855GIZxHIdx3O/3u/1+u93uhn3OY97tLnIexnG32w3jaNaoEc2di/vlqluuUowppdR1sRVRKXVd13X9YtELCzPF1J5PXdfHmBofxAF352acd6WYudSGQOORPF8BevodvnakcAD/zQ8nWOGhZeoEc1iD5Gmtpdacc8l5GMdaail5HMecc85lHIdSay2tXhq32+1uu6tWSYiEgoQudV1KfUp9l5Zdd+fegxhCn+KyXyy6frlcHK1Xm/WqSymFGKSh/nwYddztyjCEEEOQ1EmtlR0cgjMRy2azXB9tjk6Pj4+Pu8XCAUVzcSIQuA0+3BpYk0FONOTROBqiQfrjO1r1wmjRL1NYbMKyxpXF9bB93Nfx2KoZqL9Xw9HZ08dnZ4+352e73fk47nTYlzJWy+d5fDRsx91FyUMdxlJGrXs3ZSKREIQT8YZ4SRQCp5gaIy4EDiJBmAhROMUQgjC5MIcoMUiQIEwOVzXH4LJ1ylcP38yYm6TsX8RNEvdwTb10sI7BYVo4F1CtA5oR97RWa0MyU7OqrqpVraqru7qXarlqrVpU1Wwcy34YxjEXreaelBc1CAsHaV2H2B2lfhGOu1VKm5hiSv1q061Wi/VquV4tVsvULzh2YG5D2KY0uB2HXFXNiYjcWCiEtFoGApbL5cnJ8dHR+miz7mOMgiAIljnQInTFTK0aEYEYMoxFIJIW5nw+Orkx0VDDuaazmqqr1RQ5AH4x0JD3aro4Wu5Ril/rv3Sb9Hw2wnvfBhR1Icg0JnWmyc8Swb0YCMWsQtVMjeACZ05JnLhW3u14tTwKgQEwsaoOeYgx5VwAFhG6dux7Gzck6IrL5uEnB7gxAHeYAWGSiZ1O8UDxaPXGyZfRWEnAB0M+/Zu7aZUKjxd1iEgeSOGVNLArQwnKrgSCVwI1ng0ABultVf2yQY7qlmHEbG6AhZhcvYobeZMQ50ScEBcSE8grqXexjwIyJSeYgQhyWy/9GjFzsef++jxfah0Am5jviDFaLfv9fnex3Z49uTjbPvrgI5dgIaBLFxfnAFJKxOGQ1QIeQyCiqreK4i8IImZPUMAskAsswrxmlNFirGPWUnm57FLHLFXVHQ5mERaBOTGRg7TRSHB5zZu75j4fFVdlUAhhc3K8OT5+8ODBxfnFow8/fPzxx/thX7WK8HKxWC1XLAyQmaparTXXXEopdeJ0DsO4H4ec8zjmnMeSS9Gai9Wqamqq2/Mz1aaHZ2rWAG5jHkstdDBVdTdVMzM1NTUzlhCEPwHvpEajnx64Xe9vR9fj8Z4Bjh7sgC65kORMoEBCTBNnyRqAMMYYWwUTgogQt4YAs0gXw7JLd09OiCik2PWdxBglLPpuuVgs+n6x6Pu+77u+i7GLIfCEBTdVrcWq5pxzY8QyVycDkXupRVW5cagCxxhj14UUT09P7969lxZdiAnwXIqqMjuHJrvAbAJctnhpklzxya/cqJbRzFKgPoXu9GS1THdPjnbnH188+fj8yeOz8/Nhu1MRYjk9vXv3zt0gJAEMc82quZa8357vd+e1jGXMZRzyOJaSy5hrVXeDKudM46i1bGvRIZvqpCTbeKimpRTVcnnAmqSAubmaubsqygSC+8SZgmlsPfHErlkJk3fzNatlGsrBATQ9SD+sCYOzeNpwQzoyAWzuREwhhBBDTCzBnAxOxBxCCDH26255RE1CPoRF6I/iQkKIMYSu77rULfrFap0WC0kpxBhipJiMoIC6qlu1WmvxGd4ZIdF5Mog2UzMyS9St1qt+uVwtFycnJycnRzEEYcDMtbrV6kYNgefwICwCpwYZNHeoGgzOBIdin4eilVIQZ3XXnA0mQkVrVcVuXyc14Nv4rIcXmAJmE+EeDobRLFxWzAdTeHHXSfEGcHYQXAgkZqwljePYtE5yHrVWZjZTueR4vgiefxs3JD6J3HjmGSM0kZcJwX5oWjpQAUdmr0JjHUodHL7oey+uOxXwMi4uxoLsvSyM3DEpraYKUW++5gAMsFva28sFOYi5RwCgtbp6ssjK0WLySJm4MBuTwau5O4PcvKo6OQmB7UZ1u256vWRwm3F4hKYnTuQ0PwKAorXJEfZd/5UvfuE//umfAqlWEHO/6FIXfvzjHzl8uViCkMds7oCXWmKIIvIMwuo2fjUEkrBCJdPqrrAqQsJg2Hq9PF2txYnMu9gzR1UHkzqZA4pRlQjBOYFlkoCYgy5LYWbhQGZmpVatzJQkxOWiS3G57O/dubPb7fb77dCAYxfb7cVgqgBEJISwjh13/ZTVmhkdCDsEmmw79/txtx9LbtOXrKpNA6CU0tBrLRE2M52jltrqq+YZX1XNjGYh8pkfRJhoQ8Qv4Eq86OI7i6F/OlnKG3/JRSSlFFI8JOTCHGPqUpqZQhIbrFCCBJlS5a5rJZWEgMaBcpsmV9buGkTqWsZqNuX9BJDz1LQgAOQeWURCm48TkQTpu26xXK43m83R0WaziV0iIpHghKqVjBk++d22OR0czZau4RzdiYygTcXVwUHYhc3rqERwcExHp2m9Xt95cLLb7Xa7R2f28Za0FNVctBavTeyDxEAFwZabh8ciaNbGzW51LnzdyVU9DzYOtZa2Ehopwky1llprrXkYh1JGArm51lq1mpaqk5ETgYAE8GzeNR9Amj2NHc8Xa2groTqN1+qJHwTvJ83wac+1NNEthK5fHUkIwkJC5FA3IpGYGsY0xkgQI7CEEGNKfauJpCFSYxIhptre3SY9fTPysa09suq57PckTCyNIOBsBm3jfnLQDmFPfdcvFov1uo996mPq+369Xq1Wq77vUheDMOCmRUtRNXJjBkvTKYQ4w3ies5E76bT0va3/zEyr1ebBA2LiwKrqMAmS3LRqF118y3b9fOk2PhuRee2Qy5G9gyfW3URdni4i3jB1k8FfMxgFwcCjBUiUwJvNJsYoIhKDmQUJEkOzsXbc4vE+C3Gp9QBc+dZpmh2ZXF56D4mEz3fNDFdAuRpliPeLReAYagwFkXtRibluPBp7KBICgdCpszuRA8bAnmkvN4o+89kLJyTQpgrUaylVdeERFaEQG9nWJEu0qLucd3vNhTW6Wa1ZrYAqiMAO3BC72htfL/1qXIKfmsy1oNQCob7vV+vVn/3Zn/2H/+k/nd55sNsOwrFq+fn7P/2bv/lrAJvNBoRaaowpxjCOYwiBRVRv8XgvCHIW7VCJGUTuWokhDK25lnGx7LsuFS0A2i7laQpDEGkibsGJ7fnumxPkzwkkIu5earVSmVhElsvVZrWpJQ/7fePl7Pa7/W43jOOYcy2l1Kq1urtqkwhtAyMnvgwAy9VyuVrXWlWrmYNImAlkbqpaaw0hxBjmvr83kWa/MvUhPlRDE8jvUDlNAKzrNnF64XVPNg23K48/+SzMtNbihBRjiKGNtiZpdxC3MU1zPJhhYURwIp5k1cXMVa1tYZP8bqLsk/9p8yObxdiZmzxCgz4AABNS7Jero67vu65bLBfL5TKlFGKMKYqEEIK2mtecqHFTKIZAwu2jNuOsucY87JSmgtnyGE9RmNndTYtpddUg3KW07nscH6va3YHOdj7ud7v9dthvx2GX81jKYLUYqlvNQy3m0jzaQEwsIAnCQdoniuueXSdJcSLmCXdZah7H0c1SiimGdlxVTWs1q433yMxM4haBZk9+eczpyn8vmDRCnV7gv3QNoo/m3UbchBzQykF3ImISEQ5BBCyqqm4+owUnFXrmJrIwlDwhPgmztdfBaNqJKMVIwj6pk7tTw9q6wZl4tVwdHx+tl+v1etX3i9SlGKTRwEIMQdjVcq2AN5wgzIWIWMAMAszJm+zHJIfuTm2fuJOZSZA7d042m9WDh3dDjGCoKuASA4BSaxRPlANur+G/BUEjddasK1qy7ESzcWmrmuxSfLh1o5ukkKG5XRBVlqJubimlxXIZU1TzYRjU1Wudu1m3GfBvWxw6kVPh5IjEAvQIolSHcbyI9cnOuoqgqZOYAva2214Y0T7SPjIxuyHMeqIMKPNtYf3yoUQjGOqqxdzGoFZMKtQj9hQqH3ebTX/Uh76LfR+TVvWa50EwtWzk+SSG32jc9Hqp3aHbCdD4S2TE7SoKkBAnUS215OoqLFFoszk6Xi5xMZIaMd9bL066kMectDqcVbsg0clrYVcxCbd+tS8Kd/aipsZBJAQXI6aYgse4tXE37LbDttQ6lJKrjmNJJA15J05iwsyBiNwmDS9c8bWhSaS54d6IKUoQYri7eXVX1eCwBlJf9GnRE/MdwGotqsM4jnkcx/GgZ1BLybWWPOZaa61FtZbG3dAUYwrpAGgC2NyI4AQOHCUCbq6YCimeJgU0N/qBKdcH2lZM9dIV/e6Dhe41+/LaZzlyQ2Qf/sazr2501Ks6+G6NwGJmdiju2qygTWDbnmzzFWKJkojFp6x0+kQNEEcAMbMQMROBRaJITLGxvBpsL4SOpE2qYgwhxAiitmeK1qFka2ctX1J5RGROd5qjCtuU/4AcREbu7BUHRSJmAhNTszo24Yb3ytPOpU3vd3vVyrX2tYZSFjnv98NuHPeNrDUMnoeRZm6P6UEOwWHuTDUxItqomYmZhEVAUNTRRlMtVPat4GJycWdr3rYcJERx76wsXcNViNx00Ogwd7xm2Hiol66viC6/cXr2xxFlifHgQgYnd7ap4K2w6m3zVKe6ipq1NwEQhOAyEkY2YKqScMmgay8F+TQtE2YSjiFKCH2X+sUidV2KaSmrXlahAVWZiagBn7iJC+JKeUYMD+5wIhMp1E55Yw+MJqnSHCrt8ElcXEFjLQ7vVxwjg9iMCcQS4Kga2D2UyLfX8N+GIKWVIjAaAtTZJyn/dttwIpKmAwGgKZg5u7E7EwhGgrChrEV14kvkXNxdG9q2NQz4WhOA27gpQZdThUMx1JhLM733yo/n9psDPoFYMpsKk1cplc/y2fiR/VN39kPb7S5Q6qrvNzl0W3XwLtE+EBFFNyEDGVhBCJVj4U+5C9/Grx0EVGAEO8HIwR5F1Ko7knTJZfd4Xz+uXVjqmefzyim4QY1G50oirdt5vXHHbzBuer30q3F19RrczaUpXgkxifUWhL0R0BkOZ/ii703Namks+eKWB97vti0jbI4Nt3FNEFg8qVpVcOGq1d1TF2MKVauaElFK6fj4pO8X5m7a0lS4odQaQmAW9uu4O0TEEtDchTCxYoiYzKvWUkorWwgOpUblMPcQQ4hhuV4TUSk5l2Kq7l6bcJxp0VpKUwSr++2u5tr+VqMtaYPb2VQxEKDuRADMnJjY55FPw+mFEET4KgL+k2MSCMu1gLwXZHUOr1oOv/XMW00PWyVZq7m1mRC34g7tc1vb9MNTLMzzoM3YzDyXAhRuemQxhhDSDNwTkdTFrksiQoT2QpH2r9FcJMU+hOjz3xrG8XIER2Bhmng5DfFnjUPbkunGsyLVq2Wn4zCM0baVauoGDoE4MBMzqVrVaop2fFwzozAhBepixCKodaqLWkvV2ngx3l5TrNZaSq1Fa2mJk6nb4OPgpZZatejKcskAACAASURBVKqZWq1WAVTVBp4GedvDE0zNbRrEKXFpGu6JIFcNui6XBIAXFM6tXrJr5kvT+p/20GwwPFOemiAlWT78IeZW5RKYyMxgIAQhIzZzb5qEMG/WjFZNpTBXgJiDUJDAwkFCiGFaNMT9ot9sNsLCzO0rMYUYWuEUWMQj1ehu7cAQIIGlzY4mU2t3d6a2oCa5fhDMoebW5lbT4vlEScgAyA1eqhKBmFsToO0Q0zpZNjsJidyU++lt/NeHA8IJCAwlCMEIenAId4KB6kTzn1RG3WczZgAg9zpe5H0d2tlTVR1IKUgIsMse0wsxALdxE+M599VDJXW1wUSE0G7fppvV+tX7rz7afbQbDGphlIAQBpGB0j46c1WqEQBEvQ22HerkoYqUFzqA3MZ1QYAQBSIjiBAJWMgq3N3FiMJKVuuTzenxHRjlIZMxE2nrZBK3k/vm1Kw3vV46TCEajlFmvYdmVqtVxzySWAjCaG6Ylod9KBwcQiRdunfv3u/+7u/t9/tGaOFmdAhoKRPk6CbxyW5mMEuIfSnVyYko51xqCcJd39WiZgqAiPKY79y5u15vGFJqdfIgkZQEEp3cmlDHfAG6zCvJARYSZnertTYVAWZiMBM3LW+DHSY/aNyJiX7jLU/s+piuHMmWsqtpk9TWqpoLrJVDMLOaSy6laqnVzIwIecyq6jMrqBVlpk17zMwx7PfDOMxlzGGwMN9/26uuO7cddB1/8ZkRAs1FyFyVtQyaQNCGwXMAxM6BREREOHLqpen8sQjTJPvQyqY2YQhMiSkwk4SmAS5xBlGJCBqGrUG6hInbbm6FhlVY1Uy5EDMTsTA3VgAAdzWrpszcQJVuZjZZWJlae1tmAYupzavAmlzAjEt3OHHzkK3BSRo1waZmYtO5ICfeG83uxAqAxCl03Pc9TzIJbm4GN1eFaauPJ0tiuAs7uZU60ZVqrWrq5tWs6XxkVa1NhEt1Gt+5O9zMANNS69bsSatW3D9hUN5KxJmA85yVAHaE62uqNqHzw9q68o2DBvcz46muAjERW1sgBCGwpRiXywWbMbGwhMASAhExwNx6TIIgzBx40gYJIsxBiJkYIGEOHKJECVFYiMkBUpiqjQYQhDnKTIRrJCRSM7NaqpoZ3DmEwEQkzSRKMQ3qXKKTBwUrAHNiZ3NyI3cYkUnz5yIXZhE2rzBiYsKED43MRGzmej2s8TY+I+G0IxC5MpRJgUqumGAIaKU9ENHU8zClBGImZm2pWBCXHu08KbnUau596jxndyc8a9VwGzc3Dj2QKxyMhgomOE+e8jNQ4arNTEsRzUTsJC7/xz/5919bPth52T1YDslqrcj67nfepvd3byzvOfEuYhvg7qzFUZyqoRhZQBS76RnyDQ+HB4SkvbmB3YMb2eCjuhJEOAROmk2o+9JrX12t1s1SlbhQ6lQ4wxSegMW/9oa0+CythnY+XJGZbLJPseWgjYzhZrlYijlICMRNA/rBw4elFHcPQWKIDldVAjGzU2Nx3Ma1QeTMuZQQQoyx1ppzBpC6VGs1MyZOMe53+yBRWLS6qZNTCKJk4pMT3Kd13afqpI2DQMQiJAKbyiFzIweLGMjgzU+UiMzMbO5NE5wZ1NrZMLcGLCMQx9jFmLxzB5vzhJ5zd5j5NIyxhtOalfJw2dCfQW5u5j4Jps88Czg+qVrWJiUvmC9dWy/B/UCJmvb75f+H3zFMdJtpoNRa9jKXTKAJXkZEk6YDnJlCiCnFwInQTe17gmNGXBExt/mdzzIZBIIBxg5nEgiEmFBhuZ0+0/ipeUI1VxO3GefnIJbATsSmOu1OJfiki3EA2qAdwJnEC0CIHKhe3BTEEGYWa9qxRCBQFEJy6CxXZ25GzExgJ55AXRNPhgIHMMA+oT+JzIJbA+I6wcx1koMwtakStYbONFOdizUQgQyNJrcze2K+cyc/1EaXc8erle5zVoIHt8W1euJNMMIviWjElyg/gjoXj+CphEAr7h1MJEFEOAqD0EZ8TSwxBGlvDVCjGUaZgKcydZNkQu9PCqSAIZCQCnQab8IQfKrTFK4+fVI3N1g7t9ouYeaGrnRmEKt5UatmTkTCxEEYUCNT0CxLOe1pJ3YnZ1i1qkaA5pJdOXBgYjOQk4ROAmXSeovH+60IQgVgboTiqJj+NaUyKMgoOSJBAAHIpld5m0Q5yBHbWB1w81BVmTillHP2Zq5z2x79rYh2SW44lGdlHxwwwK2Wkcg/9/rnv3j/TROcL6wmCAUu+L+f/J+7/aM/eOObzryLtIswd7YMVKdsVJyMKBHibT/9ZcLJk8Z1WdRajcwjTDRTUbKWI8TY1ezb7XiyOlXzIWeFeyfNhMbAhhukf3rT6yUCkwe4OMgYlV1JiaiBY4goUJgYHOpmRJRcUMAmqGSmXqESRCK5g4ScZWp6E1mrvV6E5bg9XVryxpOmFYnElAjuQgIhZ2fiIKHvGwCvYdyMiYvXZnWLxsq9QltqySQ5ZGLvNnQOSRCeRypNL55o1s5qeCJz0JSdHQroSUBsUtVCu2Q6ETkYNNnFyCVwjKl1r+KclOIy5b3c4vk/TMSOGAMz+1QvHfjHB9YHZsLTc3fj9YbhrabAJIfQtu2ZYsmbo1QbHqH1CdzcnNuwtLH20dQL2l61xvYXZomBIXDxeZvmrZ43o/H+pwaCzb/Q9thEgSECB3Z44yNZVfDEg/KmEeiNo0lO3o4NEdm8D9Vd3KkpXE53vTY2ZoIcJjLealGQO8HmQbDrlCNNCoJMcJ44jgQlNyjB6vQmTUZivt5OuL8G6KpuSvNOEyIIO5N5M4YCUQP4usPd5kJlkvtQA3BMdMep4HKw9Ey99KK1AIbF56JM2lCuCXK0FTDXSgd6lJoXnYupw7F2EKOB5+gK424uimlizMOnjgIOeDhuR2SelTk5nAnmBnOrmMCADm6llbRDXVXRELJX9gVJS1qnni/I3RXuDAvt3HGQG4OI3YIB7oxW5BI1ich21pu4tEsGN1a/C9C6Lzw1R/xSUPI2PtPRro4N1+nOgDji9JyB2zQaQphRIU7urg5vKxVMzjwl0CSQJJFJLFdxYghNfhZEE42R3EndwWJO3vo4M77gNv4149Oui3T12/kYzZxWAPNIqgE2DWIMAiVGiswUMURQ4o4SVatntD9fVwcyoQgIADuDQBEgd3PnZwH3t/HPDUIR30o2NSdzaTRb8gnKTiZuMDaMtCtWR8tgDhwZJkCAGFxuzCG46fUSXOABCAZWcmWrrE3ayd3JyWtLgRhOBjCLEyqoTlk0iEWdQIKWAGoD0ItPc90X/X3cAlgBEMOFxZ1q1SbiCpA2dTGQO0pRdwJB3cBgYgAVCm4t+CYlBnzyZsTzY55yLaeiM6StiRVMabxdItXtE3qw7UcN7tXyqPllAE0dSAfgRodp1jNlC7X01g6Toukq2ZLrq1Ql9llhieYfXEXgXTtcOnyq5wcT0RVk1+UfvnyDVjwe/hCxs08IX7+C3MPEExESQKY3NGv7Q5+52TjQQI/tgV31BZorD3OQupnO3Z4rR1NxKETbAGj+ezD47O9L4CsQzMu3b4NHns8zmrWz588Fh7XDYIej5kaXD8AEEKbJSXvdlbSnvdncib6yq0FkcJC2J7xBfucJn0OntcRoPksOmtgU0wwwMqW2p9uSe+ZAHfbJc2Med35qkDt9Wivn6ihTWCegEojbZA3TGQlXIgoy62q0VznkskyFu+tBggWKpsl8+QngcGq1CD+bRk5rzQ9JrtN8fPH/t3cmS24jSRp2D2xccillZUndY1M2h543qJ4H6Hno6Sfpc1u1jdkcSguV4gJiCZ/DDwSDIDYJVAop+XeQkCQQcAQCoHv4Eljx0VD1Rqh9+EwSGAhAxCVLiWZsSOdtGxjEqNJn6jaDIKaA3DirRqG1RsjMpHySch2kzlA6vafca4KIvK/w2iMxLFVRkwDTBFYsC4cmZOHskFUTdJhsMWytSCkSGIvYAeZSxArLwAtc+cbUE61tP6X1OwEbxpqYYmKypc2lDMMwKAIDD6MtV7cruQ/+jzYkUhSl5MLMCBwmolJsWRQy/IOuDMOnH0Yh6+YtiXCj2CAePg+O1tpSbGjCiEnKTLI8iKIA99vM4kbM3l46PQT1PD9T86eb2CkN9WRstf/ZgjiVGiTeU6WMpS5z3a7vn1Rltw/WoPGMCdtwrXizQv6HQkIN7VYudj1NJvmqu7+XP7XvuwD8kzcR9xY+03RP+xZl+bULFxu+0PzaZPWWOvWeDgRC9dpkUruWcCg7AwvekFrvPzVhTj1c+9XacN1l4BJiJ0bbzZGWD71lf8+/4rYfxwsxTG3Hnjl5GrudnZb5dKGnTuHqx9ivhdiK8/V0MT1TQnpLpJCbY68fM/f8wSKVoQVxyTNM6xF0QW2zXXQl/EYuGZfJ3XQWslRHtsIrV/udqPHMn/URN/6v2qLKIeb/DnhX6k9qKN8FfLFx+be3T/WKYiKxZSkk4qa+qvdh5aqvJ4MC93RLPQSFxFbhAsoLh4kQYsFGRCxZS5YMhyYQEiktM/36H79GSbxerxCWj0j4IAyrIk/WYpkZtZeugqd1E1081QiBj+IYP5lRGMVxtF6vici932fC3O0l9g2m8xmE6pPziU92PolqL2nTAfSV+JkIdSrKFfWkz9kxA0f4OyF+6+y7hgjcXSblpEhNurOY7ejZQXqj6abDHSprL42Zgz6XRbXD+YxBpW06hwwTX07mnP89NJlvqd0p22YldV3v2VW0NNY538Sdf/jnkvM/m/uceRa7z9P7UBh/RH8Rg06T03uPyUuFqsJd/QC5Vpgo4L6HrluKqlnUfXeOvNN3vgNgNK2zGbZ/ksMbucoPDix0a+3JBVH/KtWV8ep8U/gODF75qCE0G6VMuRLivTqYyAQGdWXDMPz133998/rNcrmE61uwbp0xzCynIaL20vPB1dqAhIL/URRFUXSKPp8Hc7eXHA2r6aQoNOai2NsGE39J9beYiJA9MUh3R8kIxam3styYwwfuFA9YQ0Mm4bM8txOdEkM+D/I0g2r6lWtzmEdruENOj8nPzEAS2BfPN529FnpEZLy+x7bVucuU8TJo+kqXo+70EhwQgEeI2FFJoe2oasrj5PGROqS2n+nvV31DKw4XF1qHJ5+C+KpIcmYOiISCICQiExgODDGTmdFMtjIRGEJYSAP2DyIC8At7d3fH3lpc1trGulziai8p3wLfjv3WspyYu73EVVUAqSpukWDbS/dz6pOcGTcuwUPrh16DgVE75IAazBSrs8y7BRhODhqKpeAOt4ffwgBf+9GVAUV+BEO/+a4LfBfLqWrFmCsc2mf4AkZc4sAuV7gTvWcYtMp4aETWpUe+GJHesm/sqYLtswXDz8zQY0v9BUqIiKo6lScltT6589ANvRkGGB5t+oZXai78wr6vqYqhPUUey6kuS10RVPk+QL0cGEXYDrCWNpH/IdVzlGVZurelb199w0v4cUDFYyJyLj6an7FE87eXHExu/ttZRVjaxWl57P1w1knmw0r0EBNms78rhieJB9XPgX4cvlPDJtfQ4f27DN7o5yhbPHG4Sr8GetLhzyOm6gA9P5y1HR7hyptOjwzV7Mh0v3H/99I7oHhEE9PePVVxwj4vGBtXDeEiwFDq8h+9AsrgQzM4USJYj8FWgRPiHVIFtwz1wsAsx+B7Q2fEFMe5jxxRqdVcEMYiqoiICIkVy8RWLIqOWrE6lL4nXEydMQYZaw1L6TLcC6+sszqkyrPQuAtYysWtmzIT5m4vwUziOh6v+lOk8hqdhba3WjZTC96MmWH9ARjQq8YE9gxo4TxgUPEI7XPI/zSQ/T5idvHrP7oTnUvDYYu11ViHZ1dRK3XdPyKx/WbhSAmndlXnaYSIpq/IICOKGfZ/KdKfzzZxspp947ZjB0YYZR1L2UwgEhkYEKcgzI5TMA8YplgA+LTbmZO/LtQy5IUbcPpq0TJlJKh6K3X9J9Qbr4IX8Dgws2FjpbQkqO9Q2hKGkwyVeFFeEM5TAS+Tb/+UZelsp8sDZ6Wg/zg4b9JlbOR8mL29JMLVIixiUGgWC2vaShuwIlwXKPazE1wyzMSO19fnKMYEgU17C/F0w3X6e/Crh+Nd4ed6xFXy2QaU6toFTj1LqI6VYHiHgbhIGnjwePJzPYbh4nT9QvKQuTKA5/jr3clJcRZhWVcSHTh82kNRLabr+7XOJ+nZrVrVgR2SctAHBj1ojLTKd47UU3dn46FaXw5WVBiGURQWBVFJbLAwIFXTJ/Oay1YmAT9SnudE5CLxnEcd1hRMKXKecK/GQ10gRBXAr44za3GP/MA8dxdm8mTO1F5yIYxEYsvSMIdBQCRiy2pFjmrlSa51hDrw1IWC1O0ML7GkDDM1sFt4oFbYcFwQta5G8xkwD6hmMjnjZCpfP4C+eu9U1XVPne5KV7tQqu4mhk4xJIPwgNt38DZwUK3HMoUha2jItTJUAuUKI2noR4I9m6p2KtVn55Fe36kSsmunCpI+9/kzD6ycMfiCvkLhDeXHoEpP4uaHdYAEbCJblggiFWuLoiCR1XJ5OBywyJ8trdRFuhqPj9ZMmw8j7Rk/vs7t7HRx3/XUaFnv8nMC49Y9dH7nz8pknam9RG7UEpOUYsvDbvv7P/+ZpYcsy6MwzqVkMmxMlbFX5V14Q9w55KerBBOPf/lMH7DCU+8Ey2QVeZTy+K0fzomjbWywXGUvXR43bO18tkwXLTCyXb4cI9OdjVdoYYDnH0q+veRegf1MTJdjLw76i5qaPhgU5UTrO75+0TERGS6KQqwg164oiv/917/CIJCylLJkEpEWHbpuZi7z3Arovx3MHIahr4g3jvLjvlpvut7uZyMIAmz4OUtz6/852kvOoGTmPM/DMCzL4vfff//73/9HRLJjHi+S4zELwyiO47wsEZlHsJdauncga6Uf7q9y/WMgg7FJ41rozV0faIEnp6zoreyl0Tfd6UOTZyCEBlTkQUWfJ9tL4wbDV3cgfQXG3ser0PZmuOy0PhmuEQCqKBWtk9GnVbmJ2HBZFFKlL3IQmDRNN+/fh2EopS2LkpPAnMKTT0vxUIdKrcyZLveRMlsaxtKs7te87KXTioci8Jbutrs/v/nTf/7lL+nxeDgcnj59MmyCQ/DhwyYMovV6XVor4pZ/b9pLIqL20lWYPgc80eKaXnVDb+VVYKZyciMTBwNNHg98jRGl0AzeDIoynlPWilBpyzCM4ih8dX9/e3sbmTA/Hs1yQb15LLNS4BRFeTZmZC+5Io9U20sisl6t/vtvf/vrf/01CEMiybI8DMPtdvuPf/zjcEhvb+/iOIFjvVUZFhIaqorWz5ic6e+eq6T1fO3opzEt6K28CpOeKCK6xnCa6mzUwXAN5vBmUJTxCIm1NggDwybPc0sUGIO8pjdv/nR/d7dcLIqiiKIIoVxghqWNFUV5ZmZhLznfN124mF69evXbb78lSRImsdv/w7sPq9Xq/fsPd7e3y+Wamet4PIdzNInIpNlw1avoSlrRN0dv5bWYbi99c3QwXIXv482g/CAwcxCYPM+JOY4ia8VKtSxPWZRxHDHxdrdLDwesXopFYNjjW1/BJOaTfzUfSQZ5QaI2eLmSt+KHxTYuzf9z/FdfwCzsJboIFAZMTCJRFImIzQsiNoEhos2H9/vd7nhMd8bs9+lpd+9QqfKQhah4rotQFEVRFGWOGGOiKErTNM/zOIpMEKD+PfxLJjB5XhwOhzzP7+7ukIDur9LjKh1/y2uYxm63C8MwSZLG51Ali6KAV81tX+u82+2WiG5ubrCdJEmWZV2SHA4HY8xisbjW2adQluXhcLi9vf2qZ2ntc7/TvoDnkfzZYGZcURAEKBDv91We54fDgYgwovxx1fpVWZZZlrl94D0+HA7r9bpn2M/FXvI5S/MSihcLsVXVGiKyZRkn8Zs3b25vb8MotmVrZa9TUVvmaf4lnT4lohlkH81EBuUKqUd0hejMqQ3oYLgKeiOUlwMbNsYcs6zIizAMTBAQkbVCIiaoovKI2Vp7e3v7+vXrKIrgYnKLn770Cfssy0Tk0kph5v1+n2XZTz/95G9f5aQist1u0Rq2l8tllyRElOf5rOylNE2/ttVx2ed+p30ZzyP5s1EUxR9//BHHcRzHRHQ8HheLBbwpWZa9e/duuVzGcVwURRAET09Pd3d3/V8dj0fX+Gq12u/3h8Oh3zqdnb3kT+eQSJkXJgzEii1LZkMkHJg//fnfHh5+ZsNhFBFRtXZlV2GcaT/IV9DtvguuYKtMV5HVXpoB1ynVMPFemGukw+l4mM5V7CW9EcrzUQWxMDEZJiKsxcTGCNauZc6yzFqLaeayrOZbwzB0JY9fNH4Fi4b558+sf7Fz6bLlsiydaYRt6HgjPXXOTL20V12ie48d6x9OF5fcf8hnfTVmN1+Gy338Pvc7zb/M/hammPSN0DVsjGyt53o/t/NbGyGip6enOI4fHh7QCVmWffr06eHhwVr7/v37m5ubu7s77F8UxdPT083NjYh0fRWGoW+Lighsy/5nfF72kj8ImNlaKa1lCbiun1/kOZNESbJcr761sIqiKIqivBzccmHAwkgiNkasJSZmgwlsrKHpH9q6vOnLIooiTLRjpRZ8QkRlWcKHlmWZMQbb+/1+uVxiVl5EkNNljHE6JdTWsixdU+gfBDvFcYw9sY1+wzYRxXEcRVGe52VZYreomv5uAlcAMwdBgH/JK6GcZRmis4wxx+NxuVw2jnW7QYuEkF3C+2f0rxQfoivKssRGq8yDu0E1d5fjzHLX54vFwhjjOqooCmNMURRpmq7Xa1gLly30S46bAo8KhMG/uK3GGJhn7nPEqqFxU00ldLbQdb2tnU9E1to8z+E/xD4YBl0eRTSSpunPP//sos+CICiKAr7fu7s7/74bY6y1qNrS9RX61vXPfr9n5vV63SqAYxb2Utc7yATGxKEwCQkFTEQmDomotCXqgRK/7GBiRVEURVGeCb74MzBEVNpSRMSKSFFP19rGCjAv3VgiImPMx48fnW7q9NQsy7IsQ3LIer1GykcQBIvFAlPyeZ4nSQKjIo5j6OibzQZhUbB5drvdq1eviGi/32MbhtZut1utVkTkbztJkiQJwxDquK8xQ30viuLt27dhGKJiISwBWF/H4/Hdu3dJkuATNNiwl3CNb9++jaIoiqIkSRCO1SW8iOR5/u7dOxh7SZL4NnOe5673YHa2avldu8E4+eOPP9zl4KqRzeX6Hyd1HXU8HpHIRETr9bqrhS7JYZC4vsIdhKUB51WWZbvdTkQWi0WSJMjug+UZRdFms3n16lV/Cz3d0tr5CDVMksQZru/fv18ul132kiud7Rs5MC9h+Tg7B5dclqWLoe36qnEKCDb4dM/CXuqhcWFn1/OyX1yKoiiKonw7zlUkZhY6iyCi2kx66ZYSgEfll19+cU6D3W63WCyWyyV0XAQpbbdbbMMJk+f5L7/8AuMnz/Onp6eHhwf0z6tXr6A07/f74/Ho9NTlcon9cQjUd7d9KQma9TVmOFI+fPiwXC5d7hN2+/nnn6Fk397eIj+nkY7iAyMKLRRFsdlsoijCiS6FZ+bNZnNzc4NmrbUoFXDZe0SUpil6r6eT3W440WazubycJEn8/m90FLK5Hh8f0XhXC/jqUnJ042azWa/X9/f3aCRNU1gsVKe0PT4+wvey2WzKsnx8fOS6PiQ8Xf0tdHXLZeeHYYhsojRNYdzCvro0dBsjoVHQ33ky3ScuXnGz2cAIH/MVEcF7Ceu0n7nbS9/HS0pRFEVRlHnibCTDlVrm5mq/G2OJiERkuVzW+Q2MQKz+Q6y1MH6ojoPCJD0RLRYLl1ezXC6XyyU6yiXNQ6EPwxBl9/xtNOskCcMQgVJ+sB8+eXh4wCfYDV4FnNcPoGrNPIG957R8ZK2gSECr8Agqc81eBrY5mfFta++17gbzAydypji64rIUod9RyGJCx3a1ADG6JGdm2D/k5RE5ydEV7ka42+r+hPD9LbR2S1fnG2OSJEG0JxGlaQoH1GVP+vjPoHOdyflC0shlsta6MdP/FQ7f7XZu6Paj9pKiKIqiKD8031/0XSuNmJ1GjlYrvs2Aw4uiSJKkKIr9fh+GIRRupNP4BzLz4XCAq8HfvpTEqea+lg9vlW9L4BB8jrSlHrGdPu234ARoFR7m06VgrTJTd++17oa8I7+MNS65YS/1dFRXCy79qUtyJHfBVWiMiePYl7xxVHt2zOgW6Hx9oMvOFxFndcPDOVjE73JcwZz2P0c4YhAEj4+PDeO55yt4JkcWbZ+7vaQoiqIoivK18WN+xhgSPwK+Kow+gXOJiG5vb1EDIE3TOI73+/3NzY3vICKiw+HggvewfdkscM06LnV3aMnW2kvbrIuGg4hq5btV+FbBrkhRFDc3N05yJBo1qkHQeUeNaQGhj12SI3Yxz3P4puI4vuzqHmCcfFkLrZ0PL2WSJM4N1ROM52QIgsBPPYJXDRfOzFmWvX37drVa3d/f+49w11eOPM+RkjfmctReUhRFURTlx+VSkfounUs9NJJD3HYcx3meu8/hFoDyiqoArpZDmqb7/d4lFDGzU0b9bdes85P4VlBDKlePwaWgwL+BVP48zxFcR565JXUNa/y7XC7zPHfnRSW0xWLRKvxqtYLfzHlFxpjNMrqKN4ooOGHQh87/hn/7NfieFrokRz26x8dH91XDQ9UPHH2f20JX54sI7D0UwIAnbdBGRcykX/8QveSKT7x9+9avG+6O6vqK6v45Ho+ueOMgWlxOURRFUZQfl++pqMMXICJhGEKv9beJqCxLrNvrkj2QWoNoqDzPXbCZq7hQFMV2u0UNaJd742+jWbgpcPh2u0WzvlRIdCmKwp3i6enJVcMjImst7Lc0TV06DaT6+PGjixzDWWCVPT09uVCuS+GxTq5rCu0P9p5/xp7dfGGorha43+8bfd7oqJEtZUZ51QAAA1FJREFU9EguIvf3964+PkrbjR/qON0XtNDa+e4oFEmHjToogx8wCZFQ94LqLKmHh4eGRYSTtn4FIAnspVEdMX//0qBx/8O+4BRFURRF+TL86KzB3cCL1jeg1rvoL/hq3FdFUSBBZb1eu+27u7s8z1FgOgxDfIhQsTAM9/s9rKmyLA+HAzOvVisR2W638BscDgeXGeJvM/N+v4+iCM2ihjWahZAovAajaLfboYLZ4XBAvj7uQpIkHz9+hJ1zf3/vR7Vtt9s0TV3dgsPhgCpwOOlqtYIAl8LDl3I8Ho/HY1mWbpWq/t5rnLGnk5GugyWSjsdjnuc//fSTSwk7Ho+wCVGW/fKk/S10SW6MSdMUh+R5nmXZzc2Nq6zdaN//E1J9VguN623tfCcVlpYaGwsXhp8+fUrT1Biz2+2CIIAnE47BIAjSNPXFvr29tdZ2fYUBVhTFZbGNHnjmQbpqLymKoiiKcl2cdnFZequLl65vHA4HLN2DP/M8L4oC8/RQLokItcKwvVqtPn78iAAwqKqLxcKP+IIFRUSucAIRpWlqrY2iCEusolD1brfDNo5N0xS13WALLRYLF4zXELIsS7iPgiDw67A5Gag2wLbb7evXr4kIhodzQ2GxV2stillzXeetVXgiyrIMZhgq0bmFhnp6zz9jz27+5TQ6E/2PuMS7uzsnTKO1nhZ6JEd5cXdIEATH4zGKoiAIGu03/tzv91hua3wLjett7Xz0P1aLanX+tOJk8O8X7PnLnZMkQRhh61cYbEVRZFk2JiAQzN1eUhRFURRFUZ4ZEcGCRSMLiD0PLirMGANNF6u4rtfr8cq38k1wFgeWsn39+jXsPVcV/RIsyPt8InYz93g8RVEURVEU5Zm5DNCaA8hjwSKzcF4VRbFYLAbLUitzAGvd5nl+c3Pjhzu+e/eudX8U03tGATtR/5KiKIqiKIrSBIFz43M8nhMsXoRiCfOUULkEZRjGV/GeD2ovKYqiKIqiKIqitKP1xBVFURRFURRFUdpRe0lRFEVRFEVRFKUdtZcURVEURVEURVHaUXtJURRFURRFURSlHbWXFEVRFEVRFEVR2lF7SVEURVEURVEUpR21lxRFURRFURRFUdpRe0lRFEVRFEVRFKWd/wcSmD223bWcDAAAAABJRU5ErkJggg==" alt="1572239-20220628171055036-2027660252" style="zoom:80%;" /></p><p><span>ansible:ansible核心程序。</span>
|
||
<span>HostInventory:记录由ansible管理的主机信息,包括端口、密码、ip等。</span>
|
||
<span>Playbooks:“剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。</span>
|
||
<span>CoreModules:核心模块,主要操作是通过调用核心模块来完成管理任务。</span>
|
||
<span>CustomModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。</span>
|
||
<span>ConnectionPlugins:连接插件,ansible和Host通信使用</span></p><h2 id='任务执行方式'><span>任务执行方式</span></h2><ul><li><span>ad-HOC 点对点模式</span>
|
||
<span>使用单个模块,支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令 例如对大量服务器执行shell 或者执行某个linux命令。</span></li><li><span>playbook 模式(剧本模式)</span>
|
||
<span>通过编写yaml格式文件组合多个task任务,实现一个想要达到的功能,相对于多个点对点模式组合操作配置,playbook这个功能非常强大</span></li></ul><h2 id='特点'><span>特点</span></h2><ul><li><span>不需要在被监控端上安装任何服务程序</span></li><li><span>无服务器端,使用时直接运行命令即可</span></li><li><span>基于模块工作,可以使用任意语言开发</span></li><li><span>使用yaml语言编写playbook</span></li><li><span>基于ssh工作</span></li><li><span>可实现多级指挥</span></li><li><span>具有幂等性,一种操作重复多次执行结果相同</span></li></ul><h2 id='执行过程'><span>执行过程</span></h2><ul><li><span>加载自己的配置文件,默认为/etc/ansible/ansible.cfg</span></li><li><span>加载自己对应的模块文件</span></li><li><span>通过ansible将模块或命令生成对应的临时py文件,并将该文件传输至远程服务器</span></li><li><span>对应执行用户的家目录的.ansible/tmp/xx.py文件</span></li><li><span>给文件+x执行</span></li><li><span>执行并将返回结果,删除临时py文件,然后退出</span></li></ul><h1 id='ansible部署'><span>ansible部署</span></h1><ul><li><span>安装ansible</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># yum install -y epel-release</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># yum install -y ansible</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><strong><span>说明:</span></strong><span>ansible只是一个工具,不需要启动,安装好以后,直接使用即可。并且只有服务端需要安装,客户端不需要安装....</span></p><h2 id='参数说明'><span>参数说明</span></h2><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`Inventory 文件参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-i</span> 或 <span class="cm-attribute">--inventory</span>: 指定 Inventory 文件的路径</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-l</span> 或 <span class="cm-attribute">--limit</span>: 限制操作的主机范围</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-g</span> 或 <span class="cm-attribute">--groups</span>: 指定要操作的主机组</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`剧本(Playbook)参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-p</span> 或 <span class="cm-attribute">--playbook-dir</span>: 指定 Playbook 所在目录</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-e</span> 或 <span class="cm-attribute">--extra-vars</span>: 传递额外的变量</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`任务(Task)参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-m</span> 或 <span class="cm-attribute">--module-name</span>: 指定要使用的模块名称</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-a</span> 或 <span class="cm-attribute">--args</span>: 传递模块的参数</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`连接参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-c</span> 或 <span class="cm-attribute">--connection</span>: 指定连接类型,如 <span class="cm-builtin">ssh</span>、local 等</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-u</span> 或 <span class="cm-attribute">--user</span>: 指定远程连接的用户</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`输出参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-v</span> 或 <span class="cm-attribute">--verbose</span>: 增加输出信息的详细程度</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--check</span>: 进行一次<span class="cm-string">"试运行"</span>,不会实际改变任何状态</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--diff</span>: 显示配置文件的改动情况</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`其他参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-f</span> 或 <span class="cm-attribute">--forks</span>: 指定并行执行的进程数</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-t</span> 或 <span class="cm-attribute">--tags</span>: 只执行带有指定 tag 的任务</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--list-hosts</span>: 列出受管主机</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--list-tasks</span>: 列出所有任务</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h2 id='快速开始-1'><span>快速开始</span></h2><p><strong><span>实验环境:</span></strong><span>四台Linux虚拟机,HOSTNAME分别为:ansible、server1、server2、server3</span></p><p><span>其中,ansible做为服务端,其他server均作为客户端</span></p><ol start='' ><li><span>免密登录</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><span><span></span>x</span></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 在ansible上修改hosts文件,方便使用主机名管理主机</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim /etc/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">.......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.10 server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.20 server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.30 server3</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 生成密钥对</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-keygen -P "" -t rsa</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">.....</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 将公钥发送给需要被管理端,以实现免密登录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server3</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='常用工具'><span>常用工具</span></h3><ul><li><span>ansible:临时命令执行工具,常用于执行临时命令</span></li><li><span>ansible-doc:常用于模块功能的查询</span></li><li><span>ansible-playbook:用于执行剧本</span></li></ul><h3 id='主要配置文件'><span>主要配置文件</span></h3><ul><li><span>/etc/ansible/ansible.cfg:主配置文件</span></li><li><span>/etc/ansible/hosts:主机清单文件</span></li><li><span>/etc/ansible/roles:角色目录</span></li></ul><h3 id='配置主机清单'><span>配置主机清单</span></h3><p><span>编辑</span><code>/etc/ansible/hosts</code><span>文件,再最后面添加上被管理端</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim /etc/ansible/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [dbservers]</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db01.intranet.mydomain.net</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db02.intranet.mydomain.net</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10.25.1.56</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10.25.1.57</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Here's another example of host ranges, this time there are no</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># leading 0s:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db-[99:101]-node.example.com</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 定义自己的主机组</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[all_servers]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node1]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node3]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 668px;"></div><div class="CodeMirror-gutters" style="height: 668px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ul><li><span>主配置文件</span><code>ansible.cfg</code><span>,默认可以不用改</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># vim /etc/ansible/ansible.cfg</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[defaults]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># some basic default values...</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#inventory = /etc/ansible/hosts # 定义主机清单文件</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#library = /usr/share/my_modules/ # 库文件的存放位置</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_utils = /usr/share/my_module_utils/ </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#remote_tmp = ~/.ansible/tmp # 生成的临时py文件在远程主机的目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#local_tmp = ~/.ansible/tmp # 生成的临时py文件在本地主机的目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#plugin_filters_cfg = /etc/ansible/plugin_filters.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#forks = 5 # 默认的并发数</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#poll_interval = 15 # 默认的线程池</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#sudo_user = root # 默认的sudo用户</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#ask_sudo_pass = True </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#ask_pass = True</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#transport = smart</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#remote_port = 22</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_lang = C</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_set_locale = False</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>9</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">transport <span class="cm-operator">=</span> smart</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">在ansible配置中,transport <span class="cm-operator">=</span> smart 是指定 ansible 用于远程连接的传输机制。smart 是 ansible 的默认传输选项,它会尝试根据环境自动选择最佳的传输机制。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">当 smart 被设置时,ansible 会按照以下顺序尝试不同的传输机制:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果已经建立了 SSH 连接(例如,通过 SSH Agent 或者在 ansible.cfg 中配置了 SSH 连接参数),则使用 SSH 传输。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果未建立 SSH 连接,并且目标主机是本地主机,则使用本地传输(即直接在本地执行命令)。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果未建立 SSH 连接,并且目标主机是远程主机,则使用 Paramiko 传输(基于 Python 的 SSH2 实现)。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">通过使用 smart 选项,ansible 可以自动选择合适的传输机制,以确保在不同的环境中都能正常工作。如果您希望显式地指定传输机制,可以将 transport 设置为 <span class="cm-builtin">ssh</span>、local 或 paramiko,以强制使用相应的传输方式。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 276px;"></div><div class="CodeMirror-gutters" style="height: 276px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='执行状态'><span>执行状态</span></h3><p><span>ansible的执行状态 </span></p><ul><li><span>绿色:执行成功并且不需要做改变的操作 </span></li><li><span>黄色:执行成功并且对目标主机做变更 </span></li><li><span>红色:执行失败</span></li><li><span>粉色:警告信息</span></li><li><span>蓝色:显示ansible命令执行的过程</span></li></ul><h2 id='常用模块'><span>常用模块</span></h2><h3 id='ping模块'><span>ping模块</span></h3><p><span>测试与主机的连通性</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m ping all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | SUCCESS <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | SUCCESS <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | SUCCESS <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 返回说明:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"SUCCESS"</span> 表示 ansible 成功执行了任务,没有遇到错误。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"ansible_facts"</span> 是一个包含 ansible 任务执行期间收集到的事实(facts)的字典。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"discovered_interpreter_python"</span> 是一个收集到的事实,它指示目标主机上的 Python 解释器的路径为 /usr/bin/python。这对于后续的 ansible 任务可能需要使用 Python 的情况很有用。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"changed"</span> 表示 ansible 是否对目标主机进行了更改。在这种情况下,值为 <span class="cm-atom">false</span> 表示没有进行任何更改。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"ping"</span> 是一个简单的回应,用于测试与目标主机的连通性。如果值为 <span class="cm-string">"pong"</span>,表示与目标主机的连接正常。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 691px;"></div><div class="CodeMirror-gutters" style="height: 691px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='group模块'><span>Group模块</span></h3><p><span>用户创建和修改用户组</span></p><p><span>示例:对node1主机组的成员创建一个IT组,组ID为111</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>18</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s group</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">action: group </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">gid <span class="cm-comment"># 设置组的GID号 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-def">name</span><span class="cm-operator">=</span> <span class="cm-comment"># 管理组的名称 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">state <span class="cm-comment"># 指定组状态,默认为创建,设置值为absent为删除 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">system <span class="cm-comment"># 设置值为yes,表示为创建系统组</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m group -a "name=IT gid=111 system=yes" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"gid"</span>: <span class="cm-number">111</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"name"</span>: <span class="cm-string">"IT"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"state"</span>: <span class="cm-string">"present"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"system"</span>: <span class="cm-atom">true</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='user模块'><span>User模块</span></h3><p><span>用于对用户的创建,修改和删除等操作</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 查看某个模块的具体用法</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -l|wc -l</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">3387</span> <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#共有3387个模块</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible‐doc ‐s user</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> comment <span class="cm-comment"># 用户的描述信息 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> createhom <span class="cm-comment"># 是否创建家目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> force <span class="cm-comment"># 在使用`state=absent'是, 行为与`userdel ‐‐force'一致. </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> group <span class="cm-comment"># 指定基本组 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> groups <span class="cm-comment"># 指定附加组,如果指定为('groups=')表示删除所有组 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> home <span class="cm-comment"># 指定用户家目录 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name <span class="cm-comment"># 指定用户名</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> password <span class="cm-comment"># 指定用户密码 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remove <span class="cm-comment"># 在使用 `state=absent'时, 行为是与 `userdel ‐‐remove'一致.</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> shell <span class="cm-comment"># 指定默认shell </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state <span class="cm-comment">#设置帐号状态,不指定为创建,指定值为absent表示删除</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> system <span class="cm-comment"># 当创建一个用户,设置这个用户是系统用户。这个设置不能更改现有用户</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> uid <span class="cm-comment">#指定用户的uid </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> update_password <span class="cm-comment"># 更新用户密码</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> expires <span class="cm-comment">#指明密码的过期时间</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:在主机组node1上创建一个系统用户张三,家目录为/home/zhangsan,uid为111,附加组为IT,以及给一个注释</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>25</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "system=yes name=zhangsan home=/home/zhangsan uid=111 groups=IT comment='hello zhangsan'" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"comment"</span>: <span class="cm-string">"hello zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"create_home"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"group"</span>: <span class="cm-number">995</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"groups"</span>: <span class="cm-string">"IT"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"home"</span>: <span class="cm-string">"/home/zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"name"</span>: <span class="cm-string">"zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"shell"</span>: <span class="cm-string">"/bin/bash"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"state"</span>: <span class="cm-string">"present"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"system"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"uid"</span>: <span class="cm-number">111</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 删除用户及家目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "name=zhangsan state=absent remove=yes" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 添加系统用户,指定uid、家目录、主组及注释、密码</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "system=yes name=zhangsan home=/home/zhangsan uid=111 group=root comment='hello zhangsan' password='123456' shell=/bin/cbash " node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='command模块'><span>Command模块</span></h3><p><span>command模块是ansible默认使用的模块。不支持管道,变量及重定向等</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc ‐s command</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -a "touch /root/ansible.txt" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[WARNING]: Consider using the file module with <span class="cm-def">state</span><span class="cm-operator">=</span><span class="cm-builtin">touch</span> rather than running</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">'touch'</span>. If you need to use command because file is insufficient you can add</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">'warn: false'</span> to this command task or <span class="cm-keyword">set</span> <span class="cm-string">'command_warnings=False'</span> <span class="cm-keyword">in</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible.cfg to <span class="cm-builtin">get</span> rid of this message.</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -a "find / -name ifcfg-ens33" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='shell模块'><span>Shell模块</span></h3><p><span>在远程主机上执行bash命令</span></p><p><span>相对于command而言,支持性更好一点,但是对于某些复杂的命令,也可能会执行失败</span></p><p><span>解决方法:可以把命令卸载脚本中,使用script模块执行脚本到远程主机</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m shell -a "hostname" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> >></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='script模块'><span>Script模块</span></h3><p><span>可以发送shell脚本到远程主机上并执行</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim test.sh</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">#!/bin/bash</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> i <span class="cm-keyword">in</span> <span class="cm-quote">`seq 5`</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">do</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">touch</span> /root/test_<span class="cm-def">${i}</span>.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">done</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># script模块</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m script -a "/root/test.sh" node2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"rc"</span>: <span class="cm-number">0</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"stderr"</span>: <span class="cm-string">"Shared connection to server2 closed.\r\n"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"stderr_lines"</span>: [</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"Shared connection to server2 closed."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ],</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"stdout"</span>: <span class="cm-string">""</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"stdout_lines"</span>: []</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># server2验证</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server2 ~]<span class="cm-comment"># ls</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">anaconda-ks.cfg test_1.txt test_3.txt test_5.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible.txt test_2.txt test_4.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 参数说明</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">chdir参数: 此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到 chdir 参数指定的目录中。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">creates参数: 使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">removes参数: 使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 691px;"></div><div class="CodeMirror-gutters" style="height: 691px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='copy模块'><span>Copy模块</span></h3><p><span>用于向复制文件到主机组中</span></p><p><span>参数解释:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s copy</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">backup:在覆盖之前,将源文件备份,备份文件包含时间信息。 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">content:用于替代“src”,可以直接设定指定文件的值 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">dest:必选项。要将源文件复制到的远程主机的绝对路径 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">directory_mode:递归设定目录的权限,默认为系统默认权限 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">force:强制覆盖目的文件内容,默认为yes </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">others:所有的file模块里的选项都可以在这里使用 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">src:被复制到远程主机的本地文件,可以是绝对路径,也可以是相对路径。如果路径是一个目录,它将递归复制</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible <span class="cm-attribute">-m</span> copy <span class="cm-attribute">-a</span> <span class="cm-string">"src=/本地文件 dest=/远程文件"</span> nodes</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><ul><li><span>在创建文件时修改文件的属主和属组信息</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35913px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "src=/root/test.sh dest=/root/test1 owner=zhangsan group=ansibles" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>在传输文件时修改文件的权限信息,并且备份远程主机文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "src=/root/test.sh dest=/root/test2 backup=yes mode=777" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建一个文件并直接编辑文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "content='hello ansibles\n' dest=/root/test3" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='file模块'><span>File模块</span></h3><p><span>用于对文件进行相关操作</span></p><p><span>参数解释:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>17</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible‐doc ‐s file </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">‐ name: Sets attributes of files </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> force:需要在两种情况下强制创建软链接,一种是源文件不存在,但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> group:定义文件/目录的属组 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> mode:定义文件/目录的权限 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> owner:定义文件/目录的属主 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> path:必选项,定义文件/目录的路径 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> recurse:递归设置文件的属性,只对目录有效 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src:被链接的源文件路径,只应用<span class="cm-def">于state</span><span class="cm-operator">=</span>link的情况 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest:被链接到的路径,只应用<span class="cm-def">于state</span><span class="cm-operator">=</span>link的情况 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-tab" role="presentation" cm-text=" "> </span>absent: 删除文件</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> directory:如果目录不存在,就创建目录 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:验证文件是否存在,即使文件不存在,也不会被创建 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> link:创建软链接 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hard:创建硬链接 </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">touch</span>:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其后修改时间</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><ul><li><span>创建目录</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "name=test1 owner=root group=root mode=644 state=directory " node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "path=/root/test2 owner=root group=root mode=644 state=touch" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>删除文件/目录</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "path=/root/test2 state=absent" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;"></div><div class="CodeMirror-gutters" style="height: 23px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建软链接文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "src=/root/test1 dest=/root/test2 state=link" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建硬链接文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "src=/root/test.txt dest=/root/test2 state=hard" node2</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='yum模块'><span>Yum模块</span></h3><p><span>用于远程操作主机下载软件包</span></p><p><span>参数说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible‐doc ‐s yum </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> conf_file <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#设定远程yum安装时所依赖的配置文件。如配置文件没有在默认的位置。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> disable_gpg_check <span class="cm-comment">#是否禁止GPG checking,只用于`present' or `latest'。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> disablerepo <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#临时禁止使用yum库。 只用于安装或更新时。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> enablerepo <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#临时使用的yum库。只用于安装或更新时。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-def">name</span><span class="cm-operator">=</span> <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#所安装的包的名称 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state <span class="cm-comment">#present安装, latest安装最新的, absent 卸载软件。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> update_cache <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#强制更新yum的缓存</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>14</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m yum -a "name=httpd state=latest" node3</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changes"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"installed"</span>: [</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"httpd"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ],</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"updated"</span>: []</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"msg"</span>: <span class="cm-string">""</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"rc"</span>: <span class="cm-number">0</span>,</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 323px;"></div><div class="CodeMirror-gutters" style="height: 323px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='service模块'><span>Service模块</span></h3><p><span>用于远程管理主机上的service服务类</span></p><p><span>参数说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">> SERVICE (/usr/lib/python2.7/site‐packages/ansible/modules/system/service.py) </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> SMF, systemd, upstart. For Windows targets, use the [win_service] module instead. </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> * note: This module has a corresponding action plugin.</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> arguments <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#命令行提供额外的参数 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> enabled <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#设置开机启动,可以设置为yes或者no。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-def">name</span><span class="cm-operator">=</span> <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#服务名称 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> runlevel <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#开机启动的级别,一般不用指定。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">sleep</span> <span class="cm-comment">#在重启服务的过程中,是否等待。如在服务关闭以后等待2秒再启动。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#started启动服务, stopped停止服务, restarted重启服务, reloaded重载配置</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m service -a "name=httpd state=started" node3</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"name"</span>: <span class="cm-string">"httpd"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"state"</span>: <span class="cm-string">"started"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> .....</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> .....</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='selinux模块'><span>Selinux模块</span></h3><p><span>用于管理远程主机的selinux设置</span></p><p><span>参考说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>16</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@node1 ~]<span class="cm-comment"># ansible-doc -s selinux </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># selinux模块针对selinux的修改操作是针对配置文件进行修改的</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">‐ name: Change policy and state of SELinux </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">configfile:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: SELinux 配置文件的路径,如果不是标准路径。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">policy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: 要使用的 SELinux 策略的名称。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">state:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: (必需) SELinux 的模式。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">可选值:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">enforcing: 强制 SELinux 策略生效。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">permissive: 以警告模式运行 SELinux,不会阻止任何操作。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">disabled: 完全禁用 SELinux。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 369px;"></div><div class="CodeMirror-gutters" style="height: 369px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m selinux -a "state=enforcing policy=targeted" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[WARNING]: Reboot is required to <span class="cm-keyword">set</span> SELinux state to <span class="cm-string">'enforcing'</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"configfile"</span>: <span class="cm-string">"/etc/selinux/config"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"msg"</span>: <span class="cm-string">"Config SELinux state changed from 'disabled' to 'enforcing'"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"policy"</span>: <span class="cm-string">"targeted"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"reboot_required"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"state"</span>: <span class="cm-string">"enforcing"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;"></div><div class="CodeMirror-gutters" style="height: 299px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h1 id='playbook剧本'><span>Playbook(剧本)</span></h1><h2 id='介绍'><span>介绍</span></h2><p><span>Ansible playbook是一种可执行的YAML文件,用于描述如何部署和配置一个系统或应用程序。一个playbook由一个或多个play组成,每个play都针对特定的主机或主机组执行一系列任务。</span></p><p><span>一个playbook的基本结构如下:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> hosts: all</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> vars:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> package_name: nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> config_file: /etc/nginx/nginx.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Install Nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ package_name }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Copy Nginx configuration</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> copy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src: nginx.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest: <span class="cm-string">"{{ config_file }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> notify:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> <span class="cm-builtin">restart</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> handlers:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: <span class="cm-builtin">restart</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: restarted</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>在上面的例子中,我们定义了以下几个主要字段:</span></p><ul><li><code>hosts</code><span>: 指定要运行任务的主机或主机组。</span></li><li><code>vars</code><span>: 定义要在playbook中使用的变量。</span></li><li><code>tasks</code><span>: 定义要执行的任务列表。每个任务都有一个名称和一个模块。</span></li><li><code>handlers</code><span>: 定义当某些任务触发时需要执行的处理程序,比如重启服务。</span></li></ul><p><span>执行playbook剧本:</span></p><p><code>ansible-playbook xxxxx.yaml</code><span>即可</span></p><h2 id='快速开始-2'><span>快速开始</span></h2><h3 id='案例服务安装'><span>案例:服务安装</span></h3><p><span>安装nginx并且修改配置文件</span></p><ol start='' ><li><span>先编写一个nginx的子配置文件</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>12</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># mkdir -p playbook/conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># cd playbook/conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible conf]<span class="cm-comment"># cat site.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">666</span>;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name localhost;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> location / {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /data;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> index index.html</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 276px;"></div><div class="CodeMirror-gutters" style="height: 276px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写playbook,要求是为目标机器安装nginx并且拷贝配置文件到该机器上,然后启动nginx。</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="yaml" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="yaml"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>33</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">[</span>root@ansible playbook<span class="cm-meta">]</span># vim nginx.yaml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>install nginx web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> hosts</span><span class="cm-meta">: </span>node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> remote_user</span><span class="cm-meta">: </span>root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> tasks</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install epel-release</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">: </span>epel-release</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install Nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">: </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Copy conf to nginx.conf.d</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> copy</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> src</span><span class="cm-meta">: </span>/root/playbook/conf/site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> dest</span><span class="cm-meta">: </span>/etc/nginx/conf.d/site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Create <span class="cm-string">"data"</span> directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> file</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">: </span>/data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Start Nginx service</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> service</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">: </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>create web index file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> shell</span><span class="cm-meta">: </span>echo <span class="cm-string">"Install Nginx use Ansible...."</span> > /data/index.html</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 760px;"></div><div class="CodeMirror-gutters" style="height: 760px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><img src="data:image/png;base64,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+unt27ffvHnT1Byn1+svX768bt26vn37vvDCC6aJAAMCAt555x3VLAPV18GDB1VticOHDx82bFiRnd4t8y8KIT799FOHD3MICgqybCn96KOPevfuvWHDhmvXrpmCPkaj8cqVK+vWrevVq9e7775rOmoWLlxo11GTmJg4efLk5s2bT548ed++feZf30SW5Rs3bmzevLl3796ffvqpcsXhw4cXF9WqX7/+zJkzVYkVdDrd66+/3rVr10WLFv3xxx+q567MzMxffvklPDy8Y8eOffr02blzp+0fwRaWuVdatWrVu3dvh2y8W7duAQEBypLY2FhbxqSUt/K7HJRaq1atnnnmGdO/t27d+sQTT0yZMuXIkSPmqUDu3r37xx9/LFq0qGvXrqa9Wrn6008/HRYW5tjBFxWwux48eFDVt2LLli3r16+37PiQkJAQERGh/NRxcXGfffaZZQcTg8Hw5ZdfqvbqRYsWHT9+3LICtm8WAID7yqFduypidvfq5fTp02+88cYbb7xh+rNLly516tQ5f/68clp4pUmTJo0bN876mOF69eo99dRTmzdvVhYePXp04MCByhJ/f3/lU5AkSc8888ymTZtUj1s7d+403X55eHi0bt36119/Vd0yjh8/fuDAgZs2bSr5095n+vfvP378+Hnz5pVudWdn57CwsF9//XXLli2ql7Zu3bp161Yr63p5eX388ceNGzcu3VtXNampqXPnzlUeFE2aNJk8eXL9+vWLW8UUyjl27Jh5dzUNc/D19fX09HRUxRo1ajR27Ni9e/eqDoqjR4+OHDnSyoqjR4/+v//7v+3bt9v7junp6UuXLl26dKnpTx8fHy8vr2vXrhU3I2BAQMC///1vK19Up06d5s+fP2PGDNU55/Tp09OmTZs2bZr5jYQQFfDUffDgQdXTcmBgYMuWLR2y8Yceeqhbt27K7aekpGzdurVTp06lm2bSscrjclBqtWvXnjZtmizLpkuJTqdbsmTJkiVLbFk3ICBgzpw5DjzQzMp7dz148KBll6LffvstJyenVq1aysKTJ09adhZITEzMzMxUDbm6deuW5by8KSkp58+ff+KJJ1Tltm8WAID7SoYs0yuhBIcPH46KiiruxvGFF17417/+VeLQU0mSBg8e/PTTT9v77s2aNfvggw+Ky/2enp5++PBh1W3WSy+9NHv2bG5xiuTq6jph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" alt="image-20240817140758729" style="zoom:80%;" /></p><h2 id='高级配置'><span>高级配置</span></h2><h3 id='fact事实变量'><span>fact(事实变量)</span></h3><p><span>Ansible 内置了大量的事实(fact)变量,可以在 Playbook 中使用。这些事实变量可以帮助我们更好地了解目标主机的环境和配置信息,从而编写更加智能和动态的自动化脚本。</span></p><p><span>常用的内置事实变量包括:</span></p><ol start='' ><li><p><strong><span>操作系统信息</span></strong><span>:</span></p><ul><li><code>ansible_distribution</code><span>: 操作系统发行版名称,如 "CentOS"、"Ubuntu"</span></li><li><code>ansible_distribution_version</code><span>: 操作系统版本号</span></li><li><code>ansible_os_family</code><span>: 操作系统家族,如 "RedHat"、"Debian"</span></li><li><code>ansible_kernel</code><span>: 内核版本</span></li></ul></li><li><p><strong><span>硬件信息</span></strong><span>:</span></p><ul><li><code>ansible_processor</code><span>: CPU 型号</span></li><li><code>ansible_processor_vcpus</code><span>: 虚拟 CPU 核数</span></li><li><code>ansible_memtotal_mb</code><span>: 内存总量(MB)</span></li><li><code>ansible_architecture</code><span>: CPU 架构,如 "x86_64"</span></li></ul></li><li><p><strong><span>网络信息</span></strong><span>:</span></p><ul><li><code>ansible_default_ipv4</code><span>: 默认 IPv4 地址和网关</span></li><li><code>ansible_all_ipv4_addresses</code><span>: 所有 IPv4 地址</span></li><li><code>ansible_interfaces</code><span>: 所有网络接口名称</span></li><li><code>ansible_hostname</code><span>: 主机名</span></li></ul></li><li><p><strong><span>其他信息</span></strong><span>:</span></p><ul><li><code>ansible_user_id</code><span>: 当前执行 Ansible 的用户 ID</span></li><li><code>ansible_date_time</code><span>: 主机当前日期和时间</span></li><li><code>ansible_env</code><span>: 主机环境变量</span></li><li><code>ansible_play_hosts</code><span>: 当前 play 中涉及的所有主机</span></li></ul></li></ol><p><span>这些事实变量可以帮助我们编写出更加智能和定制化的 Playbook。比如,我们可以根据操作系统的不同,执行不同的软件包安装任务;根据 CPU 架构,选择合适的软件包版本;根据内存大小,调整应用程序的配置等。</span></p><h3 id='循环迭代'><span>循环迭代</span></h3><p><span>在playbook中,可以使用循环进行数据的迭代。这样一个模块就可以执行多次任务,因为往往我们部署一个服务的时候,都需要安装多个软件包的。</span></p><p><span>示例:使用yum循环安装软件包</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install packages</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> mysql</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> php</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>或者:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install packages</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> mysql</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> php</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>这样就可以实现一个yum安装多个软件包了,避免了playbook过于臃肿。</span></p><h4 id='rhce真题讲解2023-10-1'><span>RHCE真题讲解(2023-10)</span></h4><p><span>创建一个名为 /home/student/ansible/packages.yml的 playbook:</span></p><ol start='' ><li><span>将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上</span></li><li><span>将 Development Tools 软件包组安装到 dev 主机组中的主机上</span></li><li><span>将 dev 主机组中主机上的所有软件包更新为最新版本</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>28</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim playbook/packages.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev,test,prod</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: install mariadb php</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> php</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> mariadb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install group pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: install Development Tools</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"@Development Tools"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: update pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: update pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"*"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h4 id='案例循环创建用户'><span>案例:循环创建用户</span></h4><p><span>循环创建用户,用户信息如下</span>
|
||
<span>名称、组、家目录、shell、描述信息</span>
|
||
<span>zhangsan xsb /home/xsb/zhangsan /bin/bash 销售</span>
|
||
<span>lisi </span><span> </span><span> xsb /home/xsb/lisi /bin/bash 销售</span>
|
||
<span>wangwu jsb /home/jsb/wangwu /bin/sh java工程师</span>
|
||
<span>maliu jsb /home/jsb/maliu /bin/sh linux工程师</span>
|
||
<span>zhaoqi cwb /home/cwb/zhaoqi /bin/sh 会计</span></p><p><span>循环创建出以上用户并指定用户信息:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>27</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim playbook/user.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Manage user</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Ensure groups xsb, jsb, cwb exist</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> group:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item.group }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { group: xsb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { group: jsb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { group: cwb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Create users zhangsan, lisi, wangwu, maliu, zhaoqi</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> user:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item.name }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> group: <span class="cm-string">"{{ item.group }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> shell: <span class="cm-string">"{{ item.shell }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> comment: <span class="cm-string">"{{ item.comment }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> home: <span class="cm-string">"{{ item.home }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { name: <span class="cm-string">'zhangsan'</span>, group: <span class="cm-string">'xsb'</span>, home: <span class="cm-string">'/home/xsb/zhangsan'</span>, shell: <span class="cm-string">'/bin/bash'</span>, comment: <span class="cm-string">'销售'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { name: <span class="cm-string">'lisi'</span>, group: <span class="cm-string">'xsb'</span>, home: <span class="cm-string">'/home/xsb/lisi'</span>, shell: <span class="cm-string">'/bin/bash'</span>, comment: <span class="cm-string">'销售'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { name: <span class="cm-string">'wangwu'</span>, group: <span class="cm-string">'jsb'</span>, home: <span class="cm-string">'/home/jsb/wangwu'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'java工程师'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { name: <span class="cm-string">'maliu'</span>, group: <span class="cm-string">'jsb'</span>, home: <span class="cm-string">'/home/jsb/maliu'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'linux工程师'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> { name: <span class="cm-string">'zhaoqi'</span>, group: <span class="cm-string">'cwb'</span>, home: <span class="cm-string">'/home/cwb/zhaoqi'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'会计'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 737px;"></div><div class="CodeMirror-gutters" style="height: 737px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p> </p><h3 id='条件判断'><span>条件判断</span></h3><p><span>在 Ansible Playbook 中,我们可以使用条件判断语句来根据不同的条件执行不同的任务。</span></p><p><strong><span>when 语句:</span></strong></p><p><code>when</code><span> 语句是最常用的条件判断语句。它可以根据变量的值、事实(facts)或者 Jinja2 表达式来决定是否执行某个任务。</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="yaml" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="yaml"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install packages on CentOS 7</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span>httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span>mariadb-server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> when</span><span class="cm-meta">: </span>ansible_distribution == <span class="cm-string">'CentOS'</span> and ansible_distribution_major_version|int == 7</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install packages on CentOS 8</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> name</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span>mysql-server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> state</span><span class="cm-meta">: </span>present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> when</span><span class="cm-meta">: </span>ansible_distribution == <span class="cm-string">'CentOS'</span> and ansible_distribution_major_version|int == 8</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 392px;"></div><div class="CodeMirror-gutters" style="height: 392px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>在这个例子中:</span></p><ol start='' ><li><span>第一个任务会在 CentOS 7 系统上安装 httpd 和 mariadb-server 软件包。</span><code>when</code><span> 语句确保了只有在 </span><code>ansible_distribution</code><span> 等于 'CentOS' 且 </span><code>ansible_distribution_major_version</code><span> 等于 7 时,这个任务才会执行。</span></li><li><span>第二个任务会在 CentOS 8 系统上安装 nginx 和 mysql-server 软件包。同样的,</span><code>when</code><span> 语句确保了只有在 </span><code>ansible_distribution</code><span> 等于 'CentOS' 且 </span><code>ansible_distribution_major_version</code><span> 等于 8 时,这个任务才会执行。</span></li></ol><h4 id='rhce真题讲解2023-10-'><span>RHCE真题讲解(2023-10-)</span></h4><p><strong><span>考试原题(第八题):</span></strong></p><p><span>创建一个名为/home/student/ansible/parted.yml 的playbook,它将在dev主机组上运行下列任务</span></p><ol start='' ><li><span>如果磁盘/dev/vdd存在,则创建1500m分区</span></li><li><span>如果无法创建请求的分区大小,应显示错误消息</span>
|
||
<span>Could not create partition of that size,并且应改为使用大小 800m。</span></li><li><span>如果磁盘/dev/vdd不存在 ,应显示错误消息</span>
|
||
<span>disk /dev/vdd does not exist。</span></li><li><span>如果磁盘/dev/vdb存在,则创建1500m分区</span></li><li><span>如果无法创建请求的分区大小,应显示错误消息</span>
|
||
<span>Could not create partition of that size,并且应改为使用大小 800m。</span></li><li><span>最后分区都要格式化为ext4文件系统,并挂载在/mnt/fs01上</span></li></ol><p><strong><span>简化题目:</span></strong><span>在所有机器上创建sdb1分区,大小为1Gib,前提是sdb存在,如果不存在,请提示.......</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>38</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim disk.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Create sdb1 partition</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: all_servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Check <span class="cm-keyword">if</span> sdb block device exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> stat:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> path: /dev/sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> register: sdb_stat</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: Create 1GB partition on sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> parted:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> device: /dev/sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> number: <span class="cm-number">1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> part_end: 1GB</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> when: sdb_stat.stat.exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: sdb block device not exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> debug:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> msg: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> when: not sdb_stat.stat.exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Output:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">TASK [Create 1GB partition on sdb] ************************************ *********</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server1]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server3]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">changed: [server2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">TASK [sdb block device not exists] ************************************ *********</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ok: [server1] <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"msg"</span>: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">34</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">35</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">36</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ok: [server3] <span class="cm-operator">=</span>> {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">37</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-string">"msg"</span>: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">38</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 922px;"></div><div class="CodeMirror-gutters" style="height: 922px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><strong><span>验证:</span></strong></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server2 ~]<span class="cm-comment"># lsblk</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sda <span class="cm-number">8</span>:0 <span class="cm-number">0</span> 20G <span class="cm-number">0</span> disk</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├─sda1 <span class="cm-number">8</span>:1 <span class="cm-number">0</span> 1G <span class="cm-number">0</span> part /boot</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└─sda2 <span class="cm-number">8</span>:2 <span class="cm-number">0</span> 19G <span class="cm-number">0</span> part</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ├─centos-root <span class="cm-number">253</span>:0 <span class="cm-number">0</span> 17G <span class="cm-number">0</span> lvm /</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> └─centos-swap <span class="cm-number">253</span>:1 <span class="cm-number">0</span> 2G <span class="cm-number">0</span> lvm [SWAP]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sdb <span class="cm-number">8</span>:16 <span class="cm-number">0</span> 2G <span class="cm-number">0</span> disk</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└─sdb1 <span class="cm-number">8</span>:17 <span class="cm-number">0</span> 953M <span class="cm-number">0</span> part</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sr0 <span class="cm-number">11</span>:0 <span class="cm-number">1</span> 918M <span class="cm-number">0</span> rom</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h2 id='jinjia2模板'><span>Jinjia2模板</span></h2><p><span>Jinja2是一个功能强大的Python模板引擎,它被广泛应用于Ansible的playbook中。Jinja2模板语法提供了丰富的功能,使得在playbook中插入动态内容变得更加容易和灵活。</span></p><p><span>简单来讲,就是将原本静态的playbook转变为动态的。</span></p><h3 id='rhce真题讲解2023-10-2'><span>RHCE真题讲解(2023-10)</span></h3><p><strong><span>原题(第九题):</span></strong><span>生成主机文件</span></p><ol start='' ><li><span>编写模板文件/home/student/ansible/hosts.j2 ,针对每个清单主机包含一行内容,其格式与</span>
|
||
<span>/etc/hosts 相同。</span></li><li><span>创建名为 /home/student/ansible/hosts.yml 的playbook,它将使用此模板在 dev 主机组中的主</span>
|
||
<span>机上生成文件 /etc/myhosts。</span></li><li><span>该 playbook 运行后,dev 主机组中主机上的文件/etc/myhosts 应针对每个受管主机包含一行内</span>
|
||
<span>容。</span></li></ol><p><strong><span>题目变更如下:</span></strong></p><p><span>我们使用jinjia2和ansible内置变量动态的生成hosts文件,并且发送给远程主机</span></p><ol start='' ><li><span>编写模板文件</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim hosts.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">127</span>.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% <span class="cm-keyword">for</span> host <span class="cm-keyword">in</span> groups.all_servers %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{{hostvars[host].ansible_ens33.ipv4.address}} {{hostvars[host].ansible_hostname}}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% endfor %}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ol start='2' ><li><span>编写hosts.yaml剧本来渲染并且发送该模板文件到目标主机,使之替换原本的hosts</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim hosts.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Config hosts file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: all_servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: copy hosts.j2 to group servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src: hosts.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest: /etc/hosts</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 执行该playbook</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># ansible-playbook hosts.yaml</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;"></div><div class="CodeMirror-gutters" style="height: 299px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>检查并验证:</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># cat /etc/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">127</span>.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.10 server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.20 server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.30 server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='案例生成nginx配置文件'><span>案例:生成nginx配置文件</span></h3><p><span>我们可以在playbook中自定义变量,然后更具自定义的变量使用jinjia2模板渲染nginx的配置文件</span></p><ol start='' ><li><span>先编写nginx.yaml剧本,在里面定义变量</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>28</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># mkdir ansible</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># cd ansible</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ansible]<span class="cm-comment"># vim nginx.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: nginx conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> vars:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> nginx_vhosts:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> web1:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root: <span class="cm-string">"/var/www/nginx/web1/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> web2:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name: <span class="cm-string">"web2.baidu.com"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root: <span class="cm-string">"/var/www/nginx/web2/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> web3:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name: <span class="cm-string">"web3.baidu.com"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root: <span class="cm-string">"/var/www/nginx/web3/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: <span class="cm-builtin">mkdir</span> /data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: /data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> name: template config</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src: /root/ansible/site.conf.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest: /data/nginx.conf</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写nginx子配置文件site.conf,子配置文件中使用jinjia2语法进行渲染</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ansible]<span class="cm-comment"># vim site.conf.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% <span class="cm-keyword">for</span> vhost <span class="cm-keyword">in</span> nginx_vhosts %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen {{ vhost.listen }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {% <span class="cm-keyword">if</span> vhost.server_name is defined %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server_name {{ vhost.server_name }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {% endif %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">root {{ vhost.root }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% endfor %}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>server1上验证配置文件是否渲染成功</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># cat /data/nginx.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web1/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name web2.baidu.com</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web2/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name web3.baidu.com</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web3/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h1 id='role角色'><span>Role(角色)</span></h1><p><span>Ansible 中的 Role 是一种组织和重用代码的强大方式。角色可以帮助你将相关的任务、变量、文件等集中管理,使得代码更加模块化和可重用。</span></p><p><span>如果将所有的play都写在一个playbook中,很容易导致这个playbook文件变得臃肿庞大,且不易读。因此,可以将多个不同任务分别写在不同的playbook中,然后使用include将其包含进去即可。而role则是整合playbook的方式。无论是include还是role,其目的都是分割大playbook以及复用某些细化的play甚至是task。</span></p><h2 id='目录结构'><span>目录结构</span></h2><p><span>在角色中,将task,templates,handlers,files等内容都分开存放,然后再playbook中直接调用角色即可.....</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>18</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># tree apache/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">apache/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── defaults</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── files</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── handlers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── meta</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── README.md</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tasks</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tests</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ ├── inventory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── test.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└── vars</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> └── main.yml</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ul><li><code>defaults/main.yml</code><span>: 定义角色的默认变量</span></li><li><code>handlers/main.yml</code><span>: 定义角色的处理程序</span></li><li><code>meta/main.yml</code><span>: 定义角色的元数据,如依赖关系、作者信息等</span></li><li><code>tasks/main.yml</code><span>: 定义角色的主要任务</span></li><li><code>templates/</code><span>: 存放角色使用的模板文件</span></li><li><code>tests/</code><span>: 存放角色的测试相关文件</span></li><li><code>vars/main.yml</code><span>: 定义角色的变量</span></li></ul><h2 id='初始化自定义role'><span>初始化自定义Role</span></h2><p><span>可以使用ansible-galaxy工具通过init选项初始化一个角色</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>4</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># ansible-galaxy init apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> Role apache was created successfully</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible role]<span class="cm-comment"># ls apache/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">defaults files handlers meta README.md tasks templates tests vars</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 92px;"></div><div class="CodeMirror-gutters" style="height: 92px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h2 id='案例使用role安装httpd'><span>案例:使用Role安装httpd</span></h2><ol start='' ><li><span>初始化httpd角色</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># ansible-galaxy init httpd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> Role httpd was created successfully</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible role]<span class="cm-comment"># tree httpd/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">httpd/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── defaults</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── files</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── handlers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── meta</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── README.md</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tasks</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tests</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ ├── inventory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">│ └── test.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└── vars</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">8</span> directories, <span class="cm-number">8</span> files</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写角色中的task</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>27</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible httpd]<span class="cm-comment"># vim tasks/main.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># tasks file for httpd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: copy site2.conf to apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> copy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src: site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest: /etc/httpd/conf.d/site2.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: create directory1 <span class="cm-keyword">for</span> apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: /data/site1/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: create directory2 <span class="cm-keyword">for</span> apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: /data/site2/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Start httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Write index file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> shell: <span class="cm-builtin">echo</span> <span class="cm-string">"site1"</span> > /data/site1/index.html && <span class="cm-builtin">echo</span> <span class="cm-string">"site2"</span> > /data/site2/index.html</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>编写角色中的file</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible httpd]<span class="cm-comment"># vim files/site.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Listen <span class="cm-number">9090</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><Directory <span class="cm-string">"/data/"</span>></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Require all granted</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"></Directory></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><VirtualHost *:8080></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">DocumentRoot <span class="cm-string">"/data/site1/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"></VirtualHost></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><VirtualHost *:9090></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">DocumentRoot <span class="cm-string">"/data/site2/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"></VirtualHost></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='4' ><li><span>编写一个playbook剧本调用该角色</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>5</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># vim httpd.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install httpd web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> roles:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> httpd</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;"></div><div class="CodeMirror-gutters" style="height: 115px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ol start='5' ><li><span>验证</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>9</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># ss -nlt</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">State Recv-Q Send-Q Local Address:Port Peer Address:Port</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">128</span> *:22 *:*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">100</span> <span class="cm-number">127</span>.0.0.1:25 *:*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">128</span> :::8080 :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">128</span> :::80 :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">128</span> :::22 :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">100</span> ::1:25 :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN <span class="cm-number">0</span> <span class="cm-number">128</span> :::9090 :::*</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 392px;"></div><div class="CodeMirror-gutters" style="height: 392px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><img src="data:image/png;base64,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EPg79OnTZ/To0foplZWVPTF3AwAAAAAATehyFsaPHz958mT9lF27dt17772bN29WFCU0beigmpqaqqoq/ZRrr702MjIy8HeQZTksLEw/xWq1evQTAQAAAACgByktLQ3RqJMjRoy444479MMuCiH27t17yy23zJw5c9GiRT/+8Y+NxhA1JjgnTpzw6MHR1NS0devWdr2JzWbT/3n06NGLFy96DIEJAAAAAEBPkZaWFqKbeYPBMGfOnF27dn388cceL23atGnTpk3jx4+fO3fuz372s0GDBoWmSe116tQpq9Wqn5Kdnd1VjQEAAAAAoJsIUW8IIURcXNzy5ctnzZrl89V9+/ZlZWWNHj06MzPz66+/7oZdJDzCCgAAAAAAQIQysiCEiI+PX7t27bJly/r16+dzBqvV+u67706cOHH27Nlff/21qqqhbB4AAAAAAGivkEYWhBDR0dG/+c1vysrKFi9e7C++IITYsGHD9OnTn3zySTIFAAAAAADozrqmaOKIESNeeumlhQsXfvDBB2+++aZHZUSN1Wr93e9+d/DgwcLCwri4uNA3sk0bN2784Q9/2JF3kGW5d+/endUeAAAAAABCryuHYxg0aND8+fMfffTRXbt2vfnmmxs2bPDOUPjwww8HDhyYl5cXHR3dJY108R66oqmpqX///l3SGAAAAAAAuolQ94bwZjQaU1NT33nnnT179syfPz8mJsZjhrVr127fvr1L2qY3bNgwjym1tbVd0hIAAAAAALqPro8saCRJSkhIKCgo2Lhx49VXX61/yWq1FhUVNTY2dlXbNAMGDPBoWEVFhd1u76r2AAAAAADQHXSXyIJGkqTU1NTly5fHx8frp5eXl585c6arWqUZNGiQR9pCWVnZ2bNnu6o9AAAAAAB0B90rsqCZNGlSenq6fsrZs2e7fJCI2NjYlJQU/ZTt27fv3bu3q9oDAAAAAEB30B0jC5GRkVdccUVXt8KTwWC4+eab9WUgrFbru+++e/78+S5sFQAAAAAAXas7RhZUVfWoX2A0Gg0Gw6Vb48GDB1VVbXO28ePH33jjjfop77777ieffBLIsh6amprauwgAAAAAAN1QiCIL77///pEjRwKcuba2try8XD9l1KhRAwcO7KzGREREeIxhWV5eHshAD4MGDbr99ts9Jj755JMbNmwIPLjQ2Ni4bt26P/7xjwHODwAAAABAdxaiyMKhQ4cmTpz4H//xHydOnGh9zsbGxjfeeGPDhg36iTfccENsbGxnNaZfv36JiYn6KaWlpRs3bgwkOnDXXXfdfffd+inV1dUPPfTQH/7wh/r6+taXbW5u/uyzz+64444HHniAnAUAAAAAwL+G0PWGqKmpeeqpp5KSku67776ioqLTp08riqKf4dy5c5999tns2bMff/xx/fTU1NS77rpLkqTOakmvXr2uueYa/RSr1ZqVlfXKK68cP35cURRVVc+cObNu3bq//OUvHsv27ds3NzfXY+gKq9W6aNGiG264Yfny5f/85z89ogZ1dXV///vf8/LyJkyYkJaWtmnTps76IAAAAAAAdDljiNdntVrff//9999/X/szPj5+zJgxdXV1O3fu9Dl/fHz8iy++OHLkyE5sgyRJaWlpY8eOPXDggGtiTU1Nbm5ubm6ufs5169Z5Lz5x4sRly5YtXLiwurpaP33fvn05OTk5OTnan0lJSUKIysrKTmw5AAAAAADdTagjCx6qq6s97s/14uPjly1bNm3atE5f77hx4zIzMx977LEglpUkadasWZGRkb/61a9aaXzrMQWjsYu/eQAAAAAAOq60tLQ7jg2hufXWW0tKSjq3H4SL0WicP3/+vHnzgltckqSf/OQnJSUlt956a3uXTUpKeu+99xYuXBjcqgEAAAAA6D7ir0sLUWRhyZIln3/++b333hsTE9P6nDExMQ8++OCOHTs+/vjj5OTkS9ek6OjoZcuWvfXWW1q3BW/9+vWLiopq5R2Sk5M//vjjLVu23HnnnYF8rjvvvLO4uLisrOy+++4LDw8PvukAAAAAAHQbUnZ29vLly0O2vqampv379+/fv//IkSP79u2rqakRQkRFRU2YMGHo0KETJ05MSkqKjIwMWXu0Ju3bt2/Xrl1Wq1WbEhYWdu21106YMCHwASnOnTt34MCBr7/++siRI3v37tUmjh49esSIET/4wQ+Sk5MTExPDwsIuyQcAAAAAAKCLmDMXhDqyAAAAAAAA/mWYMxd03zoLAAAAAACg+yOyAAAAAAAAgkdkAQAAAAAABI/IAgAAAAAACB6RBQAAAAAAEKToSCILAAAAAAAgWNHhRBYAAAAAAECwIukNAQAAAAAAghYmxP8HSj+YyEmTqJoAAAAASUVORK5CYII=" alt="image-20240817160722766" style="zoom:80%;" /></p><h2 id='rhce真题讲解2023-10-3'><span>RHCE真题讲解(2023-10)</span></h2><p><strong><span>题目(第六题):</span></strong></p><p><span>根据下列要求,在 /home/student/ansible/roles中创建名为 apache 的角色:</span></p><ol start='' ><li><span>httpd软件包已安装,设为在系统启动时启用</span></li><li><span>防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则</span></li><li><span>模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html:</span>
|
||
<span>Welcome to HOSTNAME on IPADDRESS</span>
|
||
<span>其中,HOSTNAME 是受管节点的完全限定域名,IPADDRESS 则是受管节点的 IP 地址。</span></li><li><span>按照下方所述,创建一个使用此角色的 playbook /home/student/ansible/newrole.yml:</span>
|
||
<span>该 playbook 在 webservers 主机组中的主机上运行</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>45</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible<span class="cm-comment"># cd roles/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># ansible-galaxy init apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># vim apache/tasks/main.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">---</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># tasks file for apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install http</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: config system <span class="cm-builtin">service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> enabled: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> firewalld</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: firewalld <span class="cm-builtin">service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> firewalld:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> zone: public</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-builtin">service</span>: http</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> permanent: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> immediate: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state: enabled</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: user templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> src: index.html.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> dest: /var/www/html/index.html</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># vim apache/templates/index.html.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># cd ..</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># vim newrole.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">34</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: use apache role</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">35</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: webservers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">36</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> roles:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">37</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-attribute">-</span> apache</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">38</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
|
||
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">39</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 运行脚本</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">40</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># ansible-playbook newrole.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">41</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 访问测试</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">42</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># curl serverc</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">43</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to serverc.lab.example.com on <span class="cm-number">172</span>.25.250.12</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">44</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># curl serverd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">45</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to serverd.lab.example.com on <span class="cm-number">172</span>.25.250.13</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1037px;"></div><div class="CodeMirror-gutters" style="height: 1037px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span># </span></p></div></div>
|
||
|
||
<script>(function(){var e=document.body.parentElement,t=[],n=null,i=document.body.classList.contains("typora-export-collapse-outline"),r=function(e,t,n){document.addEventListener(e,function(e){if(!e.defaultPrevented)for(var i=e.target;i&&i!=this;i=i.parentNode)if(i.matches(t)){!1===n.call(i,e)&&(e.preventDefault(),e.stopPropagation());break}},!1)};function o(){return e.scrollTop}r("click",".outline-expander",function(e){var t=this.closest(".outline-item-wrapper").classList;return t.contains("outline-item-open")?t.remove("outline-item-open"):t.add("outline-item-open"),d(),!1}),r("click",".outline-item",function(e){var t=this.querySelector(".outline-label");if(location.hash="#"+t.getAttribute("href"),i){var n=this.closest(".outline-item-wrapper").classList;n.contains("outline-item-open")||n.add("outline-item-open"),c(),n.add("outline-item-active")}});var a,s,l=function(){var e=o();n=null;for(var i=0;i<t.length&&t[i][1]-e<60;i++)n=t[i]},c=function(){document.querySelectorAll(".outline-item-active").forEach(e=>e.classList.remove("outline-item-active")),document.querySelectorAll(".outline-item-single.outline-item-open").forEach(e=>e.classList.remove("outline-item-open"))},d=function(){if(n){c();var e=document.querySelector('.outline-label[href="#'+(CSS.escape?CSS.escape(n[0]):n[0])+'"]');if(e)if(i){var t=e.closest(".outline-item-open>ul>.outline-item-wrapper");if(t)t.classList.add("outline-item-active");else{for(var r=(e=e.closest(".outline-item-wrapper")).parentElement.closest(".outline-item-wrapper");r;)r=(e=r).parentElement.closest(".outline-item-wrapper");e.classList.add("outline-item-active")}}else e.closest(".outline-item-wrapper").classList.add("outline-item-active")}};window.addEventListener("scroll",function(e){a&&clearTimeout(a),a=setTimeout(function(){l(),d()},300)});var u=function(){s=setTimeout(function(){!function(){t=[];var e=o();document.querySelector("#write").querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(n=>{var i=n.getAttribute("id");t.push([i,e+n.getBoundingClientRect().y])})}(),l(),d()},300)};window.addEventListener("resize",function(e){s&&clearTimeout(s),u()}),u()})();</script><script>
|
||
const setWatermark = (str) => {
|
||
const id = '1.99654.234';
|
||
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
|
||
const can = document.createElement('canvas');
|
||
can.width = 200;
|
||
can.height = 200;
|
||
const cans = can.getContext('2d');
|
||
cans.rotate((-20 * Math.PI) / 180);
|
||
cans.font = '16px Vedana';
|
||
cans.fillStyle = 'rgba(200, 200, 200, 0.20)';
|
||
cans.textBaseline = 'Middle';
|
||
cans.fillText(str, can.width / 10, can.height / 2);
|
||
const div = document.createElement('div');
|
||
div.id = id;
|
||
div.style.pointerEvents = 'none';
|
||
div.style.top = '15px';
|
||
div.style.left = '0px';
|
||
div.style.position = 'fixed';
|
||
div.style.zIndex = '10000000';
|
||
div.style.width = `${window.innerWidth}px`;
|
||
div.style.height = `${window.innerHeight}px`;
|
||
div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
|
||
document.body.appendChild(div);
|
||
return id;
|
||
};
|
||
const watermark = {
|
||
set: (str) => {
|
||
let id = setWatermark(str);
|
||
if (document.getElementById(id) === null) id = setWatermark(str);
|
||
},
|
||
|
||
del: () => {
|
||
let id = '1.99654.234';
|
||
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
|
||
},
|
||
};
|
||
function hexToUtf8(s)
|
||
{
|
||
return decodeURIComponent(
|
||
s.replace(/\s+/g, '') // remove spaces
|
||
.replace(/[0-9a-f]{2}/g, '%$&') // add '%' before each 2 characters
|
||
);
|
||
}
|
||
watermark.set(hexToUtf8('e5ada6e5898de6b2bf4954efbc8ce588b0e88bb1e6a0bce7a791e68a8021'))
|
||
</script>
|
||
<style>
|
||
.siderhidden{
|
||
position: fixed;
|
||
left: 10px;
|
||
top: 10px;
|
||
}
|
||
</style>
|
||
<div class="siderhidden">
|
||
<button onclick="siderHidden()">大纲</button>
|
||
</div>
|
||
<script>
|
||
function siderHidden() {
|
||
// 使用querySelectorAll获取所有具有特定class的元素
|
||
var elements = document.querySelectorAll('.typora-export-sidebar');
|
||
|
||
// 遍历所有元素并切换它们的显示状态
|
||
elements.forEach(function(element) {
|
||
// 检查元素的display属性是否为'none'
|
||
if (window.getComputedStyle(element).display === 'none') {
|
||
// 如果已经隐藏了,就显示出来
|
||
element.style.display = 'block'; // 或者使用元素原本的display值,比如'flex'或'inline-block'等
|
||
} else {
|
||
// 如果没有隐藏,就隐藏它
|
||
element.style.display = 'none';
|
||
}
|
||
});
|
||
}
|
||
</script></body>
|
||
</html> |