.bm-bookcover {
    display: block;
    font-size: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 50px
    }
.bold-italic {
    font-style: italic;
    font-weight: bold
    }
.bulletlist {
    display: list-item;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding-inline-start: 0
    }
.bulletlist1 {
    display: list-item;
    margin-bottom: 0;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 0;
    padding-inline-start: 0
    }
.bulletlist2 {
    display: list-item;
    margin-bottom: 0.1em;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 0.1em
    }
.calibre {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 5pt;
    margin-right: 5pt;
    margin-top: 0;
    padding-left: 0;
    padding-right: 0
    }
.calibre1 {
    display: block
    }
.calibre2 {
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.calibre3 {
    height: auto;
    width: 120pt
    }
.calibre4 {
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    word-break: break-word;
    word-wrap: break-word
    }
.calibre5 {
    height: 177px;
    width: 177px
    }
.calibre6 {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 1.66667em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 0.15em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.calibre7 {
    display: block;
    font-size: 1em;
    list-style-type: decimal;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.15em
    }
.calibre8 {
    display: list-item;
    list-style-type: none;
    margin-bottom: 0.1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.1em
    }
.calibre9 {
    display: block;
    font-size: 1em;
    list-style-type: none;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.calibre10 {
    display: list-item;
    margin-bottom: 0.1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.1em
    }
.calibre11 {
    display: list-item;
    list-style-type: none;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding-inline-start: 0
    }
.calibre12 {
    display: block;
    font-size: 1em;
    list-style-type: none;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.15em
    }
.calibre13 {
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em;
    page-break-after: always;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.calibre14 {
    display: table-row-group;
    vertical-align: middle
    }
.calibre15 {
    display: table-row;
    vertical-align: inherit
    }
.calibre16 {
    height: 225px;
    max-width: 85%;
    width: 225px
    }
.calibre17 {
    display: block;
    font-size: 1em;
    list-style-type: decimal;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.calibre18 {
    display: block;
    font-size: 1em;
    list-style-type: disc;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.calibre19 {
    height: 259px;
    max-width: 85%;
    width: 876px
    }
.calibre20 {
    height: 533px;
    max-width: 85%;
    width: 615px
    }
.calibre21 {
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    margin-bottom: 0;
    margin-top: 0;
    word-break: break-word;
    word-wrap: break-word
    }
.calibre22 {
    height: 462px;
    max-width: 85%;
    width: 527px
    }
.calibre23 {
    height: 518px;
    max-width: 85%;
    width: 750px
    }
.calibre24 {
    height: 289px;
    max-width: 85%;
    width: 784px
    }
.calibre25 {
    height: 463px;
    max-width: 85%;
    width: 881px
    }
.calibre26 {
    height: 405px;
    max-width: 85%;
    width: 729px
    }
.calibre27 {
    height: 184px;
    max-width: 85%;
    width: 876px
    }
.calibre28 {
    height: 571px;
    max-width: 85%;
    width: 879px
    }
.calibre29 {
    height: 385px;
    max-width: 85%;
    width: 875px
    }
.calibre30 {
    display: block;
    font-size: 1em;
    list-style-type: disc;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.15em
    }
.calibre31 {
    height: 212px;
    max-width: 85%;
    width: 877px
    }
.calibre32 {
    height: 588px;
    max-width: 85%;
    width: 879px
    }
.calibre33 {
    height: 653px;
    max-width: 85%;
    width: 877px
    }
.calibre34 {
    height: 381px;
    max-width: 85%;
    width: 876px
    }
.calibre35 {
    height: 465px;
    max-width: 85%;
    width: 876px
    }
.calibre36 {
    height: 460px;
    max-width: 85%;
    width: 879px
    }
.calibre37 {
    height: 685px;
    max-width: 85%;
    width: 673px
    }
.calibre38 {
    height: 416px;
    max-width: 85%;
    width: 876px
    }
.calibre39 {
    height: 680px;
    max-width: 85%;
    width: 879px
    }
.calibre40 {
    height: 751px;
    max-width: 85%;
    width: 879px
    }
.calibre41 {
    height: 263px;
    max-width: 85%;
    width: 876px
    }
.calibre42 {
    height: 151px;
    max-width: 85%;
    width: 876px
    }
.calibre43 {
    height: 486px;
    max-width: 85%;
    width: 876px
    }
.calibre44 {
    height: 641px;
    max-width: 85%;
    width: 829px
    }
.calibre45 {
    height: 654px;
    max-width: 85%;
    width: 804px
    }
.calibre46 {
    height: 304px;
    max-width: 85%;
    width: 876px
    }
.calibre47 {
    height: 316px;
    max-width: 85%;
    width: 754px
    }
.calibre48 {
    height: 359px;
    max-width: 85%;
    width: 800px
    }
.calibre49 {
    height: 470px;
    max-width: 85%;
    width: 825px
    }
.calibre50 {
    height: 628px;
    max-width: 85%;
    width: 812px
    }
.calibre51 {
    height: 471px;
    max-width: 85%;
    width: 876px
    }
.calibre52 {
    height: 142px;
    width: 177px
    }
.calibre53 {
    height: 503px;
    max-width: 85%;
    width: 876px
    }
.calibre54 {
    display: block;
    font-size: 1em;
    list-style-type: circle;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding-inline-start: 0
    }
.calibre55 {
    height: 597px;
    max-width: 85%;
    width: 750px
    }
.calibre56 {
    height: 479px;
    max-width: 85%;
    width: 876px
    }
.calibre57 {
    height: 662px;
    max-width: 85%;
    width: 662px
    }
.calibre58 {
    height: 494px;
    max-width: 85%;
    width: 876px
    }
.calibre59 {
    height: 461px;
    max-width: 85%;
    width: 876px
    }
.calibre60 {
    height: 411px;
    max-width: 85%;
    width: 876px
    }
.calibre61 {
    height: 557px;
    max-width: 85%;
    width: 876px
    }
.calibre62 {
    height: 536px;
    max-width: 85%;
    width: 876px
    }
.calibre63 {
    height: 706px;
    max-width: 85%;
    width: 682px
    }
.calibre64 {
    height: 159px;
    width: 177px
    }
.calibre65 {
    height: 663px;
    max-width: 85%;
    width: 876px
    }
.calibre66 {
    height: 700px;
    max-width: 85%;
    width: 876px
    }
.calibre67 {
    height: 564px;
    max-width: 85%;
    width: 876px
    }
.calibre68 {
    height: 35px;
    width: 135px
    }
.calibre69 {
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    margin-top: 0;
    word-break: break-word;
    word-wrap: break-word
    }
.calibre70 {
    height: 299px;
    max-width: 85%;
    width: 876px
    }
.calibre71 {
    height: 508px;
    max-width: 85%;
    width: 876px
    }
.calibre72 {
    height: 631px;
    max-width: 85%;
    width: 876px
    }
.calibre73 {
    height: 448px;
    max-width: 85%;
    width: 876px
    }
.calibre74 {
    height: 630px;
    max-width: 85%;
    width: 876px
    }
.calibre75 {
    height: 484px;
    max-width: 85%;
    width: 876px
    }
.calibre76 {
    height: 467px;
    max-width: 85%;
    width: 809px
    }
.calibre77 {
    height: 472px;
    max-width: 85%;
    width: 817px
    }
.calibre78 {
    height: 445px;
    max-width: 85%;
    width: 875px
    }
.calibre79 {
    height: 538px;
    max-width: 85%;
    width: 876px
    }
.calibre80 {
    height: 732px;
    max-width: 85%;
    width: 741px
    }
.calibre81 {
    height: 474px;
    max-width: 85%;
    width: 876px
    }
.calibre82 {
    height: 526px;
    max-width: 85%;
    width: 876px
    }
.calibre83 {
    height: 521px;
    max-width: 85%;
    width: 876px
    }
.calibre84 {
    height: 529px;
    max-width: 85%;
    width: 876px
    }
.calibre85 {
    height: 284px;
    max-width: 85%;
    width: 876px
    }
.calibre86 {
    height: 295px;
    max-width: 85%;
    width: 876px
    }
.calibre87 {
    height: 206px;
    max-width: 85%;
    width: 876px
    }
.calibre88 {
    height: 615px;
    max-width: 85%;
    width: 876px
    }
.calibre89 {
    height: 312px;
    max-width: 85%;
    width: 876px
    }
.calibre90 {
    height: 463px;
    max-width: 85%;
    width: 876px
    }
.calibre91 {
    height: 476px;
    max-width: 85%;
    width: 876px
    }
.calibre92 {
    height: 489px;
    max-width: 85%;
    width: 876px
    }
.calibre93 {
    height: 373px;
    max-width: 85%;
    width: 876px
    }
.calibre94 {
    height: 464px;
    max-width: 85%;
    width: 809px
    }
.calibre95 {
    height: 157px;
    max-width: 85%;
    width: 876px
    }
.calibre96 {
    height: 393px;
    max-width: 85%;
    width: 876px
    }
.calibre97 {
    height: 488px;
    max-width: 85%;
    width: 876px
    }
.calibre98 {
    height: 316px;
    max-width: 85%;
    width: 876px
    }
.calibre99 {
    height: 225px;
    max-width: 85%;
    width: 876px
    }
.calibre100 {
    height: 128px;
    max-width: 85%;
    width: 880px
    }
.calibre101 {
    height: 110px;
    max-width: 85%;
    width: 876px
    }
.calibre102 {
    height: 229px;
    max-width: 85%;
    width: 876px
    }
.calibre103 {
    height: 527px;
    max-width: 85%;
    width: 876px
    }
.calibre104 {
    height: 311px;
    max-width: 85%;
    width: 876px
    }
.calibre105 {
    height: 191px;
    max-width: 85%;
    width: 876px
    }
.calibre106 {
    height: 223px;
    max-width: 85%;
    width: 876px
    }
.calibre107 {
    height: 127px;
    max-width: 85%;
    width: 876px
    }
.calibre108 {
    height: 439px;
    max-width: 85%;
    width: 809px
    }
.calibre109 {
    height: 616px;
    max-width: 85%;
    width: 809px
    }
.calibre110 {
    height: 337px;
    max-width: 85%;
    width: 876px
    }
.calibre111 {
    height: 134px;
    max-width: 85%;
    width: 876px
    }
.calibre112 {
    height: 138px;
    max-width: 85%;
    width: 876px
    }
.calibre113 {
    height: 296px;
    max-width: 85%;
    width: 876px
    }
.calibre114 {
    height: 264px;
    max-width: 85%;
    width: 583px
    }
.calibre115 {
    height: 331px;
    max-width: 85%;
    width: 876px
    }
.calibre116 {
    height: 366px;
    max-width: 85%;
    width: 876px
    }
.calibre117 {
    height: 401px;
    max-width: 85%;
    width: 876px
    }
.calibre118 {
    height: 286px;
    max-width: 85%;
    width: 876px
    }
.calibre119 {
    height: 346px;
    max-width: 85%;
    width: 876px
    }
.calibre120 {
    height: 230px;
    max-width: 85%;
    width: 876px
    }
.calibre121 {
    height: 282px;
    max-width: 85%;
    width: 876px
    }
.calibre122 {
    height: 506px;
    max-width: 85%;
    width: 876px
    }
.calibre123 {
    height: 418px;
    max-width: 85%;
    width: 876px
    }
.calibre124 {
    height: 454px;
    max-width: 85%;
    width: 876px
    }
.calibre125 {
    height: 122px;
    max-width: 85%;
    width: 876px
    }
.calibre126 {
    height: 314px;
    max-width: 85%;
    width: 876px
    }
.calibre127 {
    height: 90px;
    max-width: 85%;
    width: 876px
    }
.calibre128 {
    height: 123px;
    max-width: 85%;
    width: 881px
    }
.calibre129 {
    height: 106px;
    max-width: 85%;
    width: 876px
    }
.calibre130 {
    height: 243px;
    max-width: 85%;
    width: 876px
    }
.calibre131 {
    height: 319px;
    max-width: 85%;
    width: 876px
    }
.calibre132 {
    height: 410px;
    max-width: 85%;
    width: 876px
    }
.calibre133 {
    height: 327px;
    max-width: 85%;
    width: 876px
    }
.calibre134 {
    height: 335px;
    max-width: 85%;
    width: 876px
    }
.calibre135 {
    height: 317px;
    max-width: 85%;
    width: 876px
    }
.calibre136 {
    height: 309px;
    max-width: 85%;
    width: 876px
    }
.calibre137 {
    height: 322px;
    max-width: 85%;
    width: 876px
    }
.calibre138 {
    height: 308px;
    max-width: 85%;
    width: 876px
    }
.calibre139 {
    height: 585px;
    max-width: 85%;
    width: 876px
    }
.calibre140 {
    height: 371px;
    max-width: 85%;
    width: 881px
    }
.calibre141 {
    height: 340px;
    max-width: 85%;
    width: 876px
    }
.calibre142 {
    height: 641px;
    max-width: 85%;
    width: 876px
    }
.calibre143 {
    height: 602px;
    max-width: 85%;
    width: 809px
    }
.calibre144 {
    height: 424px;
    max-width: 85%;
    width: 876px
    }
.calibre145 {
    height: 514px;
    max-width: 85%;
    width: 800px
    }
.calibre146 {
    height: 239px;
    max-width: 85%;
    width: 743px
    }
.calibre147 {
    height: 454px;
    max-width: 85%;
    width: 666px
    }
.calibre148 {
    height: 736px;
    max-width: 85%;
    width: 876px
    }
.calibre149 {
    height: 217px;
    max-width: 85%;
    width: 876px
    }
.calibre150 {
    height: 386px;
    max-width: 85%;
    width: 876px
    }
.calibre151 {
    height: 394px;
    max-width: 85%;
    width: 809px
    }
.calibre152 {
    height: 600px;
    max-width: 85%;
    width: 748px
    }
.calibre153 {
    height: 408px;
    max-width: 85%;
    width: 881px
    }
.calibre154 {
    height: 728px;
    max-width: 85%;
    width: 858px
    }
.calibre155 {
    height: 290px;
    max-width: 85%;
    width: 876px
    }
.calibre156 {
    height: 732px;
    max-width: 85%;
    width: 876px
    }
.calibre157 {
    height: 566px;
    max-width: 85%;
    width: 876px
    }
.calibre158 {
    height: 692px;
    max-width: 85%;
    width: 876px
    }
.calibre159 {
    height: auto;
    width: 250px
    }
.calibre160 {
    height: 397px;
    width: 322px
    }
.calibre161 {
    height: 221px;
    max-width: 85%;
    width: 221px
    }
.chapternumber {
    display: block;
    font-family: "Century Gothic", "Futura", "Arial Narrow", "Dejavu Sans", sans-serif;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.chaptertitle {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 1.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.cite {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 50px;
    margin-right: 20px;
    margin-top: 1em;
    text-align: right
    }
.code-highlight {
    background: #e1e1e1
    }
.code-highlight1 {
    background: #44475a
    }
.eop {
    display: block;
    font-size: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    page-break-after: always
    }
.fm-acknowledgement {
    display: block;
    font-size: 1em;
    font-style: italic;
    margin-bottom: 1em;
    margin-left: 20pt;
    margin-right: 20pt;
    margin-top: 1em
    }
.fm-authorname {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1.29167em;
    line-height: 1.2;
    margin-bottom: 16pt;
    margin-left: 0;
    margin-right: 0;
    margin-top: 16pt
    }
.fm-bookedition {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1.66667em;
    line-height: 1.25;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 20pt
    }
.fm-booktitle {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 60pt
    }
.fm-copyright-bookedition {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1.29167em;
    line-height: 1.2;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.fm-copyright-booktitle {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1.29167em;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.fm-copyright-contributorslist {
    display: block;
    font-size: 1em;
    margin-bottom: 0.25em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.25em
    }
.fm-copyright-text {
    display: block;
    font-size: 1em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.fm-packtlogo {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 60pt
    }
.fm-subtitle {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", sans-serif;
    font-size: 1.29167em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 60pt;
    margin-left: 0;
    margin-right: 0;
    margin-top: 60pt
    }
.heading {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 1.83333em;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.15em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.heading1 {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 1.66667em;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.15em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.heading2 {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 1.29167em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 0.15em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em
    }
.hljs-attr {
    color: #986801
    }
.hljs-attr-slc {
    background: #e1e1e1;
    border-radius: 2px;
    color: #986801;
    font-weight: 700
    }
.hljs-built_in {
    color: #c18401
    }
.hljs-bullet {
    color: #4078f2
    }
.hljs-bullet-slc {
    background: #e1e1e1;
    border-radius: 2px;
    color: #4078f2;
    font-weight: 700
    }
.hljs-code {
    background: #fafafa;
    color: #383a42;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    overflow-x: auto;
    padding-bottom: 0.5em;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-top: 0.5em;
    word-break: break-word;
    word-wrap: break-word
    }
.hljs-comment {
    color: #a0a1a7;
    font-style: italic
    }
.hljs-con {
    background: #282a36;
    color: #f8f8f2;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    overflow-x: auto;
    padding-bottom: 0.5em;
    padding-left: 0.5em;
    padding-right: 0.5em;
    padding-top: 0.5em;
    word-break: break-word;
    word-wrap: break-word
    }
.hljs-con-built_in {
    color: #8be9fd
    }
.hljs-con-comment {
    color: #6272a4
    }
.hljs-con-keyword {
    color: #ff79c6;
    font-weight: 700
    }
.hljs-con-literal {
    color: #bd93f9;
    font-weight: 700
    }
.hljs-con-meta {
    color: #50fa7b;
    font-weight: 700
    }
.hljs-con-string {
    color: #f1fa8c
    }
.hljs-con-subst {
    color: #f8f8f2
    }
.hljs-keyword {
    color: #a626a4
    }
.hljs-literal {
    color: #0184bb
    }
.hljs-literal-slc {
    background: #e1e1e1;
    border-radius: 0;
    color: #0184bb;
    font-weight: 700
    }
.hljs-number-slc {
    background: #e1e1e1;
    border-radius: 0;
    color: #986801;
    font-weight: 700
    }
.hljs-slc {
    background: #e1e1e1;
    border-radius: 2px;
    font-weight: 700
    }
.hljs-slc1 {
    background: #e1e1e1;
    border-radius: 0;
    font-weight: 700
    }
.hljs-string {
    color: #50a14f
    }
.hljs-string-slc {
    background: #e1e1e1;
    border-radius: 2px;
    color: #50a14f;
    font-weight: 700
    }
.hljs-string-slc1 {
    background: #e1e1e1;
    border-radius: 0;
    color: #50a14f;
    font-weight: 700
    }
.index-level {
    display: block;
    font-family: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 0.2em;
    margin-left: 0.2em;
    margin-right: 0.2em;
    margin-top: 0.2em
    }
.index-level1 {
    display: block;
    font-family: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    font-size: 1em;
    margin-bottom: 0.2em;
    margin-left: 40px;
    margin-right: 0.2em;
    margin-top: 0.2em
    }
.index-section-head {
    display: block;
    font-family: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
    font-size: 1.66667em;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.2em;
    margin-left: 0.2em;
    margin-right: 0.2em;
    margin-top: 1em
    }
.inlinecode {
    background-color: rgba(210, 210, 210, 0.6);
    border-radius: 2px;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    padding-bottom: 1px;
    padding-left: 2px;
    padding-right: 2px;
    padding-top: 1px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.inlinecode1 {
    background-color: rgba(210, 210, 210, 0.6);
    border-radius: 2px;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    margin-bottom: 0;
    margin-top: 0;
    padding-bottom: 1px;
    padding-left: 2px;
    padding-right: 2px;
    padding-top: 1px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.inlinecode2 {
    background-color: rgba(210, 210, 210, 0.6);
    border-radius: 2px;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    margin-top: 0;
    padding-bottom: 1px;
    padding-left: 2px;
    padding-right: 2px;
    padding-top: 1px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.inlinecode3 {
    background-color: rgba(210, 210, 210, 0.6);
    border-radius: 2px;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    margin-bottom: 0;
    padding-bottom: 1px;
    padding-left: 2px;
    padding-right: 2px;
    padding-top: 1px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.italic {
    font-style: italic
    }
.keyword {
    font-weight: bold;
    margin-bottom: 0;
    margin-top: 0
    }
.keyword1 {
    font-weight: bold;
    margin-bottom: 0
    }
.mainheading {
    display: block;
    font-family: "Trebuchet MS", "Futura", "Segoe UI", "Dejavu Sans", "Bitstream Vera Sans", sans-serif;
    font-size: 2em;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 1.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    text-align: right
    }
.mediaobject {
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    text-align: center
    }
.normal {
    display: block;
    font-size: 1em;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.15em
    }
.normal-one {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 0.5em
    }
.normal1 {
    display: block;
    font-size: 1em;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.normal2 {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0
    }
.normal3 {
    display: block;
    font-size: 1em;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0
    }
.normal4 {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.5em
    }
.note {
    background-image: url(images/000164.png);
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 90px auto;
    border-bottom-color: #ededed;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 3px;
    border-right-color: #ededed;
    border-right-style: solid;
    border-right-width: 3px;
    border-top-color: #ededed;
    border-top-style: solid;
    border-top-width: 3px;
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    padding-bottom: 0;
    padding-left: 110px;
    padding-right: 10px;
    padding-top: 0;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.note-one {
    background-image: url(images/000164.png);
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 90px auto;
    border-bottom-color: #ededed;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 3px;
    border-right-color: #ededed;
    border-right-style: solid;
    border-right-width: 3px;
    border-top-color: #ededed;
    border-top-style: solid;
    border-top-width: 3px;
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 1em;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 1em;
    padding-bottom: 0;
    padding-left: 110px;
    padding-right: 10px;
    padding-top: 0;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.packt_figref {
    display: block;
    font-size: 0.83333em;
    font-style: italic;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    text-align: center
    }
.packt_quote {
    border-bottom-color: currentColor;
    border-bottom-style: none;
    border-bottom-width: 4px;
    border-top-color: currentColor;
    border-top-style: none;
    border-top-width: 4px;
    display: block;
    font-size: 1em;
    font-style: italic;
    margin-bottom: auto;
    margin-left: 40px;
    margin-right: auto;
    margin-top: auto
    }
.packt_tip {
    background-image: url(images/000167.png);
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 90px auto;
    border-bottom-color: #ededed;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 3px;
    border-right-color: #ededed;
    border-right-style: solid;
    border-right-width: 3px;
    border-top-color: #ededed;
    border-top-style: solid;
    border-top-width: 3px;
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    padding-bottom: 0;
    padding-left: 110px;
    padding-right: 10px;
    padding-top: 0;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.packt_tip-one {
    background-image: url(images/000167.png);
    background-position: 0 center;
    background-repeat: no-repeat;
    background-size: 90px auto;
    border-bottom-color: #ededed;
    border-bottom-style: solid;
    border-bottom-width: 3px;
    border-left-color: #ededed;
    border-left-style: solid;
    border-left-width: 3px;
    border-right-color: #ededed;
    border-right-style: solid;
    border-right-width: 3px;
    border-top-color: #ededed;
    border-top-style: solid;
    border-top-width: 3px;
    display: block;
    font-family: "Palatino Linotype", "Palatino", "Century Schoolbook", "Baskerville", "Nimbus Roman No9 L", "Times", "Times New Roman", serif;
    font-kerning: auto;
    font-size: 1em;
    line-height: 1.5;
    margin-bottom: 1em;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 1em;
    padding-bottom: 0;
    padding-left: 110px;
    padding-right: 10px;
    padding-top: 0;
    text-align: left;
    text-rendering: optimizeLegibility
    }
.programlisting {
    background-color: #fafafa;
    border-left-color: #e1e1e1;
    border-left-style: solid;
    border-left-width: 6px;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    line-height: 1.35;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    overflow-x: auto;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.programlisting1 {
    background-color: #282a36;
    border-left-color: #44475A;
    border-left-style: solid;
    border-left-width: 6px;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    line-height: 1.35;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    overflow-x: auto;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.programlisting2 {
    background-color: #282a36;
    border-left-color: #44475A;
    border-left-style: solid;
    border-left-width: 6px;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    line-height: 1.35;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.75em;
    overflow-x: auto;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.programlisting3 {
    background-color: #282a36;
    border-left-color: #44475A;
    border-left-style: solid;
    border-left-width: 6px;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    line-height: 1.35;
    margin-bottom: 1em;
    margin-left: 2.5rem;
    margin-right: 0;
    margin-top: 1em;
    overflow-x: auto;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.programlisting4 {
    background-color: #fafafa;
    border-left-color: #e1e1e1;
    border-left-style: solid;
    border-left-width: 6px;
    display: block;
    font-family: "Consolas", "Monaco", "Lucida Console", "Lucida Sans Typewriter", "Liberation Mono", monospace;
    font-size: 1em;
    line-height: 1.35;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0.75em;
    overflow-x: auto;
    padding-bottom: 5px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 5px;
    white-space: -o-pre-wrap;
    word-break: break-word;
    word-wrap: break-word
    }
.quote {
    display: block;
    font-size: 1em;
    margin-bottom: 1em;
    margin-left: 50px;
    margin-right: 20px;
    margin-top: 0
    }
.quote1 {
    display: block;
    font-size: 1em;
    margin-bottom: 0;
    margin-left: 50px;
    margin-right: 20px;
    margin-top: 0
    }
.screentext {
    font-weight: bold
    }
.table-cell {
    border-bottom-color: black;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-color: black;
    border-left-style: solid;
    border-left-width: 1px;
    border-right-color: black;
    border-right-style: solid;
    border-right-width: 1px;
    border-top-color: black;
    border-top-style: solid;
    border-top-width: 1px;
    display: table-cell;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    text-align: inherit;
    vertical-align: top
    }
.table-container {
    border-bottom-color: black;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-collapse: collapse;
    border-left-color: black;
    border-left-style: solid;
    border-left-width: 1px;
    border-right-color: black;
    border-right-style: solid;
    border-right-width: 1px;
    border-spacing: 2px;
    border-top-color: black;
    border-top-style: solid;
    border-top-width: 1px;
    display: table;
    margin-bottom: 0.5em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
    text-indent: 0
    }
.pcalibre:before {
    background-image: url(images/000163.png);
    background-repeat: no-repeat;
    background-size: auto 30px;
    content: "";
    display: block;
    height: 30px
    }
.pcalibre1:after {
    background-image: url(images/000162.png);
    background-repeat: no-repeat;
    background-size: auto 30px;
    content: "";
    display: block;
    height: 30px
    }

@page {
    margin-bottom: 5pt;
    margin-top: 5pt
    }

