No history yet

Introduction to Programming

What is Programming?

Think of programming as writing a recipe for a very literal, very fast cook: a computer. You provide a list of precise instructions, and the computer follows them exactly to achieve a goal. It could be displaying a button on a webpage, calculating a budget, or launching a rocket to Mars. At its core, programming is simply the act of telling a computer what to do.

Programming is the process of creating a set of instructions that tell a computer how to perform a task.

These instructions, collectively called a program or software, are behind almost every piece of technology you use. The app that wakes you up in the morning, the website where you read the news, and the system that manages traffic lights are all powered by programs written by people.

The Language of Computers

Computers don't understand human languages like English or Spanish. Their native tongue is much simpler, consisting of just two symbols: 0 and 1. This is called binary, or machine code. Trying to write instructions directly in binary would be incredibly slow and difficult for a person.

Lesson image

This is where programming languages come in. They act as a bridge, allowing us to write commands in a way that’s easier for us to understand. Languages like Python, Java, or C++ use words and symbols that are closer to human language. Then, a special program called a compiler or an interpreter translates our code into the binary instructions the computer can execute.

How a Program Runs

So, what happens when you click an app icon on your phone? The process generally follows these steps:

\n\x3C!-- This file was generated by dvisvgm 2.11.1 -->\n\x3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='76.163247pt' height='340.15748pt' viewBox='94.491072 179.161725 76.163247 340.15748'>\n\x3Cdefs>\n\x3Cpath id='g1-39' d='M2.052304-5.867995C2.052304-6.465753 1.8132-6.914072 1.384807-6.914072C1.036115-6.914072 .856787-6.645081 .856787-6.386052S1.026152-5.858032 1.384807-5.858032C1.58406-5.858032 1.723537-5.957659 1.783313-6.017435C1.793275-6.03736 1.803238-6.047323 1.8132-6.047323C1.833126-6.047323 1.833126-5.907846 1.833126-5.867995C1.833126-5.549191 1.763387-4.83188 1.135741-4.214197C1.016189-4.094645 1.016189-4.07472 1.016189-4.044832C1.016189-3.975093 1.066002-3.935243 1.115816-3.935243C1.225405-3.935243 2.052304-4.692403 2.052304-5.867995Z'/>\n\x3Cpath id='g1-40' d='M3.297634 2.391034C3.297634 2.361146 3.297634 2.34122 3.128269 2.171856C1.882939 .916563 1.564134-.966376 1.564134-2.49066C1.564134-4.224159 1.942715-5.957659 3.16812-7.202989C3.297634-7.32254 3.297634-7.342466 3.297634-7.372354C3.297634-7.442092 3.257783-7.47198 3.198007-7.47198C3.098381-7.47198 2.201743-6.794521 1.613948-5.529265C1.105853-4.433375 .986301-3.327522 .986301-2.49066C.986301-1.713574 1.09589-.508095 1.643836 .617684C2.241594 1.843088 3.098381 2.49066 3.198007 2.49066C3.257783 2.49066 3.297634 2.460772 3.297634 2.391034Z'/>\n\x3Cpath id='g1-41' d='M2.879203-2.49066C2.879203-3.267746 2.769614-4.473225 2.221669-5.599004C1.62391-6.824408 .767123-7.47198 .667497-7.47198C.607721-7.47198 .56787-7.43213 .56787-7.372354C.56787-7.342466 .56787-7.32254 .757161-7.143213C1.733499-6.156912 2.30137-4.572852 2.30137-2.49066C2.30137-.787049 1.932752 .966376 .697385 2.221669C.56787 2.34122 .56787 2.361146 .56787 2.391034C.56787 2.450809 .607721 2.49066 .667497 2.49066C.767123 2.49066 1.663761 1.8132 2.251557 .547945C2.759651-.547945 2.879203-1.653798 2.879203-2.49066Z'/>\n\x3Cpath id='g1-45' d='M2.749689-1.863014V-2.440847H.109589V-1.863014H2.749689Z'/>\n\x3Cpath id='g1-46' d='M1.912827-.52802C1.912827-.816936 1.673724-1.05604 1.384807-1.05604S.856787-.816936 .856787-.52802S1.09589 0 1.384807 0S1.912827-.239103 1.912827-.52802Z'/>\n\x3Cpath id='g1-65' d='M3.965131-6.933998C3.915318-7.063512 3.895392-7.13325 3.73599-7.13325S3.5467-7.073474 3.496887-6.933998L1.43462-.976339C1.255293-.468244 .856787-.318804 .318804-.308842V0C.547945-.009963 .976339-.029888 1.334994-.029888C1.643836-.029888 2.161893-.009963 2.480697 0V-.308842C1.982565-.308842 1.733499-.557908 1.733499-.816936C1.733499-.846824 1.743462-.946451 1.753425-.966376L2.211706-2.271482H4.672478L5.200498-.747198C5.210461-.707347 5.230386-.647572 5.230386-.607721C5.230386-.308842 4.672478-.308842 4.403487-.308842V0C4.762142-.029888 5.459527-.029888 5.838107-.029888C6.266501-.029888 6.724782-.019925 7.143213 0V-.308842H6.963885C6.366127-.308842 6.22665-.37858 6.117061-.707347L3.965131-6.933998ZM3.437111-5.818182L4.562889-2.580324H2.321295L3.437111-5.818182Z'/>\n\x3Cpath id='g1-67' d='M.557908-3.407223C.557908-1.344956 2.171856 .219178 4.024907 .219178C5.648817 .219178 6.625156-1.165629 6.625156-2.321295C6.625156-2.420922 6.625156-2.49066 6.495641-2.49066C6.386052-2.49066 6.386052-2.430884 6.37609-2.331258C6.296389-.9066 5.230386-.089664 4.144458-.089664C3.536737-.089664 1.58406-.428394 1.58406-3.39726C1.58406-6.37609 3.526775-6.714819 4.134496-6.714819C5.220423-6.714819 6.107098-5.808219 6.306351-4.353674C6.326276-4.214197 6.326276-4.184309 6.465753-4.184309C6.625156-4.184309 6.625156-4.214197 6.625156-4.423412V-6.784558C6.625156-6.953923 6.625156-7.023661 6.515567-7.023661C6.475716-7.023661 6.435866-7.023661 6.356164-6.90411L5.858032-6.166874C5.489415-6.525529 4.98132-7.023661 4.024907-7.023661C2.161893-7.023661 .557908-5.439601 .557908-3.407223Z'/>\n\x3Cpath id='g1-77' d='M2.400996-6.585305C2.311333-6.804483 2.281445-6.804483 2.052304-6.804483H.368618V-6.495641H.607721C1.374844-6.495641 1.39477-6.386052 1.39477-6.027397V-1.046077C1.39477-.777086 1.39477-.308842 .368618-.308842V0C.71731-.009963 1.205479-.029888 1.534247-.029888S2.351183-.009963 2.699875 0V-.308842C1.673724-.308842 1.673724-.777086 1.673724-1.046077V-6.41594H1.683686L4.084682-.219178C4.134496-.089664 4.184309 0 4.283935 0C4.393524 0 4.423412-.079701 4.463263-.18929L6.914072-6.495641H6.924035V-.777086C6.924035-.418431 6.90411-.308842 6.136986-.308842H5.897883V0C6.266501-.029888 6.94396-.029888 7.332503-.029888S8.388543-.029888 8.757161 0V-.308842H8.518057C7.750934-.308842 7.731009-.418431 7.731009-.777086V-6.027397C7.731009-6.386052 7.750934-6.495641 8.518057-6.495641H8.757161V-6.804483H7.073474C6.814446-6.804483 6.814446-6.794521 6.744707-6.615193L4.562889-1.006227L2.400996-6.585305Z'/>\n\x3Cpath id='g1-80' d='M2.261519-3.148194H3.945205C5.140722-3.148194 6.216687-3.955168 6.216687-4.951432C6.216687-5.927771 5.230386-6.804483 3.865504-6.804483H.348692V-6.495641H.587796C1.354919-6.495641 1.374844-6.386052 1.374844-6.027397V-.777086C1.374844-.418431 1.354919-.308842 .587796-.308842H.348692V0C.697385-.029888 1.43462-.029888 1.8132-.029888S2.938979-.029888 3.287671 0V-.308842H3.048568C2.281445-.308842 2.261519-.418431 2.261519-.777086V-3.148194ZM2.231631-3.407223V-6.097136C2.231631-6.425903 2.251557-6.495641 2.719801-6.495641H3.606476C5.190535-6.495641 5.190535-5.439601 5.190535-4.951432C5.190535-4.483188 5.190535-3.407223 3.606476-3.407223H2.231631Z'/>\n\x3Cpath id='g1-82' d='M2.231631-3.516812V-6.097136C2.231631-6.326276 2.231631-6.445828 2.450809-6.475716C2.550436-6.495641 2.839352-6.495641 3.038605-6.495641C3.935243-6.495641 5.051059-6.455791 5.051059-5.011208C5.051059-4.323786 4.811955-3.516812 3.337484-3.516812H2.231631ZM4.333748-3.387298C5.300125-3.626401 6.07721-4.234122 6.07721-5.011208C6.07721-5.967621 4.941469-6.804483 3.476961-6.804483H.348692V-6.495641H.587796C1.354919-6.495641 1.374844-6.386052 1.374844-6.027397V-.777086C1.374844-.418431 1.354919-.308842 .587796-.308842H.348692V0C.707347-.029888 1.414695-.029888 1.803238-.029888S2.899128-.029888 3.257783 0V-.308842H3.01868C2.251557-.308842 2.231631-.418431 2.231631-.777086V-3.297634H3.377335C3.536737-3.297634 3.955168-3.297634 4.303861-2.958904C4.682441-2.600249 4.682441-2.291407 4.682441-1.62391C4.682441-.976339 4.682441-.577833 5.090909-.199253C5.499377 .159402 6.047323 .219178 6.346202 .219178C7.123288 .219178 7.292653-.597758 7.292653-.876712C7.292653-.936488 7.292653-1.046077 7.163138-1.046077C7.053549-1.046077 7.053549-.956413 7.043587-.886675C6.983811-.179328 6.635118 0 6.386052 0C5.897883 0 5.818182-.508095 5.678705-1.43462L5.549191-2.231631C5.369863-2.86924 4.881694-3.198007 4.333748-3.387298Z'/>\n\x3Cpath id='g1-84' d='M6.635118-6.744707H.547945L.358655-4.503113H.607721C.747198-6.107098 .896638-6.435866 2.400996-6.435866C2.580324-6.435866 2.839352-6.435866 2.938979-6.41594C3.148194-6.37609 3.148194-6.266501 3.148194-6.03736V-.787049C3.148194-.448319 3.148194-.308842 2.102117-.308842H1.703611V0C2.11208-.029888 3.128269-.029888 3.58655-.029888S5.070984-.029888 5.479452 0V-.308842H5.080946C4.034869-.308842 4.034869-.448319 4.034869-.787049V-6.03736C4.034869-6.236613 4.034869-6.37609 4.214197-6.41594C4.323786-6.435866 4.592777-6.435866 4.782067-6.435866C6.286426-6.435866 6.435866-6.107098 6.575342-4.503113H6.824408L6.635118-6.744707Z'/>\n\x3Cpath id='g1-85' d='M5.798257-2.30137C5.798257-.886675 4.83188-.089664 3.88543-.089664C3.417186-.089664 2.241594-.33873 2.241594-2.231631V-6.027397C2.241594-6.386052 2.261519-6.495641 3.028643-6.495641H3.267746V-6.804483C2.919054-6.774595 2.181818-6.774595 1.803238-6.774595S.67746-6.774595 .328767-6.804483V-6.495641H.56787C1.334994-6.495641 1.354919-6.386052 1.354919-6.027397V-2.271482C1.354919-.86675 2.510585 .219178 3.865504 .219178C5.011208 .219178 5.907846-.707347 6.07721-1.843088C6.107098-2.042341 6.107098-2.132005 6.107098-2.530511V-5.718555C6.107098-6.047323 6.107098-6.495641 7.13325-6.495641V-6.804483C6.774595-6.794521 6.296389-6.774595 5.957659-6.774595C5.608966-6.774595 5.13076-6.794521 4.772105-6.804483V-6.495641C5.798257-6.495641 5.798257-6.027397 5.798257-5.758406V-2.30137Z'/>\n\x3Cpath id='g1-97' d='M3.317559-.757161C3.35741-.358655 3.626401 .059776 4.094645 .059776C4.303861 .059776 4.911582-.079701 4.911582-.886675V-1.444583H4.662516V-.886675C4.662516-.308842 4.41345-.249066 4.303861-.249066C3.975093-.249066 3.935243-.697385 3.935243-.747198V-2.739726C3.935243-3.158157 3.935243-3.5467 3.576588-3.915318C3.188045-4.303861 2.689913-4.463263 2.211706-4.463263C1.39477-4.463263 .707347-3.995019 .707347-3.337484C.707347-3.038605 .9066-2.86924 1.165629-2.86924C1.444583-2.86924 1.62391-3.068493 1.62391-3.327522C1.62391-3.447073 1.574097-3.775841 1.115816-3.785803C1.384807-4.134496 1.872976-4.244085 2.191781-4.244085C2.67995-4.244085 3.247821-3.855542 3.247821-2.968867V-2.600249C2.739726-2.570361 2.042341-2.540473 1.414695-2.241594C.667497-1.902864 .418431-1.384807 .418431-.946451C.418431-.139477 1.384807 .109589 2.012453 .109589C2.669988 .109589 3.128269-.288917 3.317559-.757161ZM3.247821-2.391034V-1.39477C3.247821-.448319 2.530511-.109589 2.082192-.109589C1.594022-.109589 1.185554-.458281 1.185554-.956413C1.185554-1.504359 1.603985-2.331258 3.247821-2.391034Z'/>\n\x3Cpath id='g1-98' d='M1.713574-3.755915V-6.914072L.278954-6.804483V-6.495641C.976339-6.495641 1.05604-6.425903 1.05604-5.937733V0H1.305106C1.315068-.009963 1.39477-.14944 1.663761-.617684C1.8132-.388543 2.231631 .109589 2.968867 .109589C4.154421 .109589 5.190535-.86675 5.190535-2.15193C5.190535-3.417186 4.214197-4.403487 3.078456-4.403487C2.30137-4.403487 1.872976-3.935243 1.713574-3.755915ZM1.743462-1.135741V-3.188045C1.743462-3.377335 1.743462-3.387298 1.853051-3.5467C2.241594-4.104608 2.789539-4.184309 3.028643-4.184309C3.476961-4.184309 3.835616-3.92528 4.07472-3.5467C4.333748-3.138232 4.363636-2.570361 4.363636-2.161893C4.363636-1.793275 4.343711-1.195517 4.054795-.747198C3.845579-.438356 3.466999-.109589 2.929016-.109589C2.480697-.109589 2.122042-.348692 1.882939-.71731C1.743462-.926526 1.743462-.956413 1.743462-1.135741Z'/>\n\x3Cpath id='g1-99' d='M1.165629-2.171856C1.165629-3.795766 1.982565-4.214197 2.510585-4.214197C2.600249-4.214197 3.227895-4.204234 3.576588-3.845579C3.16812-3.815691 3.108344-3.516812 3.108344-3.387298C3.108344-3.128269 3.287671-2.929016 3.566625-2.929016C3.825654-2.929016 4.024907-3.098381 4.024907-3.39726C4.024907-4.07472 3.267746-4.463263 2.500623-4.463263C1.255293-4.463263 .33873-3.387298 .33873-2.15193C.33873-.876712 1.325031 .109589 2.480697 .109589C3.815691 .109589 4.134496-1.085928 4.134496-1.185554S4.034869-1.285181 4.004981-1.285181C3.915318-1.285181 3.895392-1.24533 3.875467-1.185554C3.58655-.259029 2.938979-.139477 2.570361-.139477C2.042341-.139477 1.165629-.56787 1.165629-2.171856Z'/>\n\x3Cpath id='g1-100' d='M3.785803-.547945V.109589L5.250311 0V-.308842C4.552927-.308842 4.473225-.37858 4.473225-.86675V-6.914072L3.038605-6.804483V-6.495641C3.73599-6.495641 3.815691-6.425903 3.815691-5.937733V-3.785803C3.526775-4.144458 3.098381-4.403487 2.560399-4.403487C1.384807-4.403487 .33873-3.427148 .33873-2.141968C.33873-.876712 1.315068 .109589 2.450809 .109589C3.088418 .109589 3.536737-.229141 3.785803-.547945ZM3.785803-3.217933V-1.175592C3.785803-.996264 3.785803-.976339 3.676214-.806974C3.377335-.328767 2.929016-.109589 2.500623-.109589C2.052304-.109589 1.693649-.368618 1.454545-.747198C1.195517-1.155666 1.165629-1.723537 1.165629-2.132005C1.165629-2.500623 1.185554-3.098381 1.474471-3.5467C1.683686-3.855542 2.062267-4.184309 2.600249-4.184309C2.948941-4.184309 3.367372-4.034869 3.676214-3.58655C3.785803-3.417186 3.785803-3.39726 3.785803-3.217933Z'/>\n\x3Cpath id='g1-101' d='M1.115816-2.510585C1.175592-3.995019 2.012453-4.244085 2.351183-4.244085C3.377335-4.244085 3.476961-2.899128 3.476961-2.510585H1.115816ZM1.105853-2.30137H3.88543C4.104608-2.30137 4.134496-2.30137 4.134496-2.510585C4.134496-3.496887 3.596513-4.463263 2.351183-4.463263C1.195517-4.463263 .278954-3.437111 .278954-2.191781C.278954-.856787 1.325031 .109589 2.470735 .109589C3.686177 .109589 4.134496-.996264 4.134496-1.185554C4.134496-1.285181 4.054795-1.305106 4.004981-1.305106C3.915318-1.305106 3.895392-1.24533 3.875467-1.165629C3.526775-.139477 2.630137-.139477 2.530511-.139477C2.032379-.139477 1.633873-.438356 1.404732-.806974C1.105853-1.285181 1.105853-1.942715 1.105853-2.30137Z'/>\n\x3Cpath id='g1-102' d='M1.743462-4.293898V-5.449564C1.743462-6.326276 2.221669-6.804483 2.660025-6.804483C2.689913-6.804483 2.839352-6.804483 2.988792-6.734745C2.86924-6.694894 2.689913-6.56538 2.689913-6.316314C2.689913-6.087173 2.849315-5.88792 3.118306-5.88792C3.407223-5.88792 3.556663-6.087173 3.556663-6.326276C3.556663-6.694894 3.188045-7.023661 2.660025-7.023661C1.96264-7.023661 1.115816-6.495641 1.115816-5.439601V-4.293898H.328767V-3.985056H1.115816V-.757161C1.115816-.308842 1.006227-.308842 .33873-.308842V0C.727273-.009963 1.195517-.029888 1.474471-.029888C1.872976-.029888 2.34122-.029888 2.739726 0V-.308842H2.530511C1.793275-.308842 1.77335-.418431 1.77335-.777086V-3.985056H2.909091V-4.293898H1.743462Z'/>\n\x3Cpath id='g1-103' d='M2.211706-1.713574C1.344956-1.713574 1.344956-2.709838 1.344956-2.938979C1.344956-3.20797 1.354919-3.526775 1.504359-3.775841C1.58406-3.895392 1.8132-4.174346 2.211706-4.174346C3.078456-4.174346 3.078456-3.178082 3.078456-2.948941C3.078456-2.67995 3.068493-2.361146 2.919054-2.11208C2.839352-1.992528 2.610212-1.713574 2.211706-1.713574ZM1.05604-1.325031C1.05604-1.364882 1.05604-1.594022 1.225405-1.793275C1.613948-1.514321 2.022416-1.484433 2.211706-1.484433C3.138232-1.484433 3.825654-2.171856 3.825654-2.938979C3.825654-3.307597 3.666252-3.676214 3.417186-3.905355C3.775841-4.244085 4.134496-4.293898 4.313823-4.293898C4.333748-4.293898 4.383562-4.293898 4.41345-4.283935C4.303861-4.244085 4.254047-4.134496 4.254047-4.014944C4.254047-3.845579 4.383562-3.726027 4.542964-3.726027C4.64259-3.726027 4.83188-3.795766 4.83188-4.024907C4.83188-4.194271 4.712329-4.513076 4.323786-4.513076C4.124533-4.513076 3.686177-4.4533 3.267746-4.044832C2.849315-4.373599 2.430884-4.403487 2.211706-4.403487C1.285181-4.403487 .597758-3.716065 .597758-2.948941C.597758-2.510585 .816936-2.132005 1.066002-1.92279C.936488-1.77335 .757161-1.444583 .757161-1.09589C.757161-.787049 .886675-.408468 1.195517-.209215C.597758-.039851 .278954 .388543 .278954 .787049C.278954 1.504359 1.265255 2.052304 2.480697 2.052304C3.656289 2.052304 4.692403 1.544209 4.692403 .767123C4.692403 .418431 4.552927-.089664 4.044832-.368618C3.516812-.647572 2.938979-.647572 2.331258-.647572C2.082192-.647572 1.653798-.647572 1.58406-.657534C1.265255-.697385 1.05604-1.006227 1.05604-1.325031ZM2.49066 1.823163C1.484433 1.823163 .797011 1.315068 .797011 .787049C.797011 .328767 1.175592-.039851 1.613948-.069738H2.201743C3.058531-.069738 4.174346-.069738 4.174346 .787049C4.174346 1.325031 3.466999 1.823163 2.49066 1.823163Z'/>\n\x3Cpath id='g1-104' d='M1.09589-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.811955-.308842 4.562889-.308842 4.552927-.607721V-2.510585C4.552927-3.367372 4.552927-3.676214 4.244085-4.034869C4.104608-4.204234 3.775841-4.403487 3.198007-4.403487C2.361146-4.403487 1.92279-3.805729 1.753425-3.427148V-6.914072L.318804-6.804483V-6.495641C1.016189-6.495641 1.09589-6.425903 1.09589-5.937733V-.757161Z'/>\n\x3Cpath id='g1-105' d='M1.763387-4.403487L.368618-4.293898V-3.985056C1.016189-3.985056 1.105853-3.92528 1.105853-3.437111V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.647572-.009963 1.185554-.029888 1.424658-.029888C1.77335-.029888 2.122042-.009963 2.460772 0V-.308842C1.803238-.308842 1.763387-.358655 1.763387-.747198V-4.403487ZM1.803238-6.136986C1.803238-6.455791 1.554172-6.665006 1.275218-6.665006C.966376-6.665006 .747198-6.396015 .747198-6.136986C.747198-5.867995 .966376-5.608966 1.275218-5.608966C1.554172-5.608966 1.803238-5.818182 1.803238-6.136986Z'/>\n\x3Cpath id='g1-107' d='M1.05604-.757161C1.05604-.308842 .946451-.308842 .278954-.308842V0C.607721-.009963 1.075965-.029888 1.364882-.029888C1.663761-.029888 2.062267-.019925 2.460772 0V-.308842C1.793275-.308842 1.683686-.308842 1.683686-.757161V-1.783313L2.321295-2.331258C3.088418-1.275218 3.506849-.71731 3.506849-.537983C3.506849-.348692 3.337484-.308842 3.148194-.308842V0C3.427148-.009963 4.014944-.029888 4.224159-.029888C4.513076-.029888 4.801993-.019925 5.090909 0V-.308842C4.722291-.308842 4.503113-.308842 4.124533-.836862L2.859278-2.620174C2.849315-2.6401 2.799502-2.699875 2.799502-2.729763C2.799502-2.769614 3.506849-3.367372 3.606476-3.447073C4.234122-3.955168 4.652553-3.975093 4.861768-3.985056V-4.293898C4.572852-4.26401 4.443337-4.26401 4.164384-4.26401C3.805729-4.26401 3.188045-4.283935 3.048568-4.293898V-3.985056C3.237858-3.975093 3.337484-3.865504 3.337484-3.73599C3.337484-3.536737 3.198007-3.417186 3.118306-3.347447L1.713574-2.132005V-6.914072L.278954-6.804483V-6.495641C.976339-6.495641 1.05604-6.425903 1.05604-5.937733V-.757161Z'/>\n\x3Cpath id='g1-108' d='M1.763387-6.914072L.328767-6.804483V-6.495641C1.026152-6.495641 1.105853-6.425903 1.105853-5.937733V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.657534-.009963 1.185554-.029888 1.43462-.029888S2.171856-.009963 2.540473 0V-.308842C1.872976-.308842 1.763387-.308842 1.763387-.757161V-6.914072Z'/>\n\x3Cpath id='g1-109' d='M1.09589-3.427148V-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.662516-.308842 4.552927-.308842 4.552927-.757161V-2.590286C4.552927-3.626401 5.260274-4.184309 5.897883-4.184309C6.525529-4.184309 6.635118-3.646326 6.635118-3.078456V-.757161C6.635118-.308842 6.525529-.308842 5.858032-.308842V0C6.206725-.009963 6.714819-.029888 6.983811-.029888C7.242839-.029888 7.760897-.009963 8.099626 0V-.308842C7.581569-.308842 7.332503-.308842 7.32254-.607721V-2.510585C7.32254-3.367372 7.32254-3.676214 7.013699-4.034869C6.874222-4.204234 6.545455-4.403487 5.967621-4.403487C5.13076-4.403487 4.692403-3.805729 4.523039-3.427148C4.383562-4.293898 3.646326-4.403487 3.198007-4.403487C2.470735-4.403487 2.002491-3.975093 1.723537-3.35741V-4.403487L.318804-4.293898V-3.985056C1.016189-3.985056 1.09589-3.915318 1.09589-3.427148Z'/>\n\x3Cpath id='g1-110' d='M1.09589-3.427148V-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.811955-.308842 4.562889-.308842 4.552927-.607721V-2.510585C4.552927-3.367372 4.552927-3.676214 4.244085-4.034869C4.104608-4.204234 3.775841-4.403487 3.198007-4.403487C2.470735-4.403487 2.002491-3.975093 1.723537-3.35741V-4.403487L.318804-4.293898V-3.985056C1.016189-3.985056 1.09589-3.915318 1.09589-3.427148Z'/>\n\x3Cpath id='g1-111' d='M4.692403-2.132005C4.692403-3.407223 3.696139-4.463263 2.49066-4.463263C1.24533-4.463263 .278954-3.377335 .278954-2.132005C.278954-.846824 1.315068 .109589 2.480697 .109589C3.686177 .109589 4.692403-.86675 4.692403-2.132005ZM2.49066-.139477C2.062267-.139477 1.62391-.348692 1.354919-.806974C1.105853-1.24533 1.105853-1.853051 1.105853-2.211706C1.105853-2.600249 1.105853-3.138232 1.344956-3.576588C1.613948-4.034869 2.082192-4.244085 2.480697-4.244085C2.919054-4.244085 3.347447-4.024907 3.606476-3.596513S3.865504-2.590286 3.865504-2.211706C3.865504-1.853051 3.865504-1.315068 3.646326-.876712C3.427148-.428394 2.988792-.139477 2.49066-.139477Z'/>\n\x3Cpath id='g1-112' d='M1.713574-3.745953V-4.403487L.278954-4.293898V-3.985056C.986301-3.985056 1.05604-3.92528 1.05604-3.486924V1.175592C1.05604 1.62391 .946451 1.62391 .278954 1.62391V1.932752C.617684 1.92279 1.135741 1.902864 1.39477 1.902864C1.663761 1.902864 2.171856 1.92279 2.520548 1.932752V1.62391C1.853051 1.62391 1.743462 1.62391 1.743462 1.175592V-.498132V-.587796C1.793275-.428394 2.211706 .109589 2.968867 .109589C4.154421 .109589 5.190535-.86675 5.190535-2.15193C5.190535-3.417186 4.224159-4.403487 3.108344-4.403487C2.331258-4.403487 1.912827-3.965131 1.713574-3.745953ZM1.743462-1.135741V-3.35741C2.032379-3.865504 2.520548-4.154421 3.028643-4.154421C3.755915-4.154421 4.363636-3.277709 4.363636-2.15193C4.363636-.946451 3.666252-.109589 2.929016-.109589C2.530511-.109589 2.15193-.308842 1.882939-.71731C1.743462-.926526 1.743462-.936488 1.743462-1.135741Z'/>\n\x3Cpath id='g1-114' d='M1.663761-3.307597V-4.403487L.278954-4.293898V-3.985056C.976339-3.985056 1.05604-3.915318 1.05604-3.427148V-.757161C1.05604-.308842 .946451-.308842 .278954-.308842V0C.667497-.009963 1.135741-.029888 1.414695-.029888C1.8132-.029888 2.281445-.029888 2.67995 0V-.308842H2.470735C1.733499-.308842 1.713574-.418431 1.713574-.777086V-2.311333C1.713574-3.297634 2.132005-4.184309 2.889166-4.184309C2.958904-4.184309 2.978829-4.184309 2.998755-4.174346C2.968867-4.164384 2.769614-4.044832 2.769614-3.785803C2.769614-3.506849 2.978829-3.35741 3.198007-3.35741C3.377335-3.35741 3.626401-3.476961 3.626401-3.795766S3.317559-4.403487 2.889166-4.403487C2.161893-4.403487 1.803238-3.73599 1.663761-3.307597Z'/>\n\x3Cpath id='g1-115' d='M2.072229-1.932752C2.291407-1.892902 3.108344-1.733499 3.108344-1.016189C3.108344-.508095 2.759651-.109589 1.982565-.109589C1.145704-.109589 .787049-.67746 .597758-1.524284C.56787-1.653798 .557908-1.693649 .458281-1.693649C.328767-1.693649 .328767-1.62391 .328767-1.444583V-.129514C.328767 .039851 .328767 .109589 .438356 .109589C.488169 .109589 .498132 .099626 .687422-.089664C.707347-.109589 .707347-.129514 .886675-.318804C1.325031 .099626 1.77335 .109589 1.982565 .109589C3.128269 .109589 3.58655-.557908 3.58655-1.275218C3.58655-1.803238 3.287671-2.102117 3.16812-2.221669C2.839352-2.540473 2.450809-2.620174 2.032379-2.699875C1.474471-2.809465 .806974-2.938979 .806974-3.516812C.806974-3.865504 1.066002-4.273973 1.92279-4.273973C3.01868-4.273973 3.068493-3.377335 3.088418-3.068493C3.098381-2.978829 3.188045-2.978829 3.20797-2.978829C3.337484-2.978829 3.337484-3.028643 3.337484-3.217933V-4.224159C3.337484-4.393524 3.337484-4.463263 3.227895-4.463263C3.178082-4.463263 3.158157-4.463263 3.028643-4.343711C2.998755-4.303861 2.899128-4.214197 2.859278-4.184309C2.480697-4.463263 2.072229-4.463263 1.92279-4.463263C.707347-4.463263 .328767-3.795766 .328767-3.237858C.328767-2.889166 .488169-2.610212 .757161-2.391034C1.075965-2.132005 1.354919-2.072229 2.072229-1.932752Z'/>\n\x3Cpath id='g1-116' d='M1.723537-3.985056H3.148194V-4.293898H1.723537V-6.127024H1.474471C1.464508-5.310087 1.165629-4.244085 .18929-4.204234V-3.985056H1.036115V-1.235367C1.036115-.009963 1.96264 .109589 2.321295 .109589C3.028643 .109589 3.307597-.597758 3.307597-1.235367V-1.803238H3.058531V-1.255293C3.058531-.518057 2.759651-.139477 2.391034-.139477C1.723537-.139477 1.723537-1.046077 1.723537-1.215442V-3.985056Z'/>\n\x3Cpath id='g1-117' d='M3.895392-.787049V.109589L5.330012 0V-.308842C4.632628-.308842 4.552927-.37858 4.552927-.86675V-4.403487L3.088418-4.293898V-3.985056C3.785803-3.985056 3.865504-3.915318 3.865504-3.427148V-1.653798C3.865504-.787049 3.387298-.109589 2.660025-.109589C1.823163-.109589 1.783313-.577833 1.783313-1.09589V-4.403487L.318804-4.293898V-3.985056C1.09589-3.985056 1.09589-3.955168 1.09589-3.068493V-1.574097C1.09589-.797011 1.09589 .109589 2.610212 .109589C3.16812 .109589 3.606476-.169365 3.895392-.787049Z'/>\n\x3Cpath id='g1-119' d='M6.166874-3.347447C6.346202-3.845579 6.655044-3.975093 7.003736-3.985056V-4.293898C6.784558-4.273973 6.495641-4.26401 6.276463-4.26401C5.987547-4.26401 5.539228-4.283935 5.349938-4.293898V-3.985056C5.708593-3.975093 5.927771-3.795766 5.927771-3.506849C5.927771-3.447073 5.927771-3.427148 5.877958-3.297634L4.971357-.747198L3.985056-3.526775C3.945205-3.646326 3.935243-3.666252 3.935243-3.716065C3.935243-3.985056 4.323786-3.985056 4.523039-3.985056V-4.293898C4.234122-4.283935 3.726027-4.26401 3.486924-4.26401C3.188045-4.26401 2.899128-4.273973 2.600249-4.293898V-3.985056C2.968867-3.985056 3.128269-3.965131 3.227895-3.835616C3.277709-3.775841 3.387298-3.476961 3.457036-3.287671L2.600249-.876712L1.653798-3.536737C1.603985-3.656289 1.603985-3.676214 1.603985-3.716065C1.603985-3.985056 1.992528-3.985056 2.191781-3.985056V-4.293898C1.892902-4.283935 1.334994-4.26401 1.105853-4.26401C1.066002-4.26401 .537983-4.273973 .179328-4.293898V-3.985056C.67746-3.985056 .797011-3.955168 .916563-3.636364L2.171856-.109589C2.221669 .029888 2.251557 .109589 2.381071 .109589S2.530511 .049813 2.580324-.089664L3.58655-2.909091L4.60274-.079701C4.64259 .029888 4.672478 .109589 4.801993 .109589S4.961395 .019925 5.001245-.079701L6.166874-3.347447Z'/>\n\x3Cpath id='g1-120' d='M2.859278-2.34122C3.158157-2.719801 3.536737-3.20797 3.775841-3.466999C4.084682-3.825654 4.493151-3.975093 4.961395-3.985056V-4.293898C4.702366-4.273973 4.403487-4.26401 4.144458-4.26401C3.845579-4.26401 3.317559-4.283935 3.188045-4.293898V-3.985056C3.39726-3.965131 3.476961-3.835616 3.476961-3.676214S3.377335-3.387298 3.327522-3.327522L2.709838-2.550436L1.932752-3.556663C1.843088-3.656289 1.843088-3.676214 1.843088-3.73599C1.843088-3.88543 1.992528-3.975093 2.191781-3.985056V-4.293898C1.932752-4.283935 1.275218-4.26401 1.115816-4.26401C.9066-4.26401 .438356-4.273973 .169365-4.293898V-3.985056C.86675-3.985056 .876712-3.975093 1.344956-3.377335L2.331258-2.092154L1.39477-.9066C.916563-.328767 .328767-.308842 .119552-.308842V0C.37858-.019925 .687422-.029888 .946451-.029888C1.235367-.029888 1.653798-.009963 1.892902 0V-.308842C1.673724-.33873 1.603985-.468244 1.603985-.617684C1.603985-.836862 1.892902-1.165629 2.500623-1.882939L3.257783-.886675C3.337484-.777086 3.466999-.617684 3.466999-.557908C3.466999-.468244 3.377335-.318804 3.108344-.308842V0C3.407223-.009963 3.965131-.029888 4.184309-.029888C4.4533-.029888 4.841843-.019925 5.140722 0V-.308842C4.60274-.308842 4.423412-.328767 4.194271-.617684L2.859278-2.34122Z'/>\n\x3Cpath id='g1-121' d='M4.134496-3.347447C4.393524-3.975093 4.901619-3.985056 5.061021-3.985056V-4.293898C4.83188-4.273973 4.542964-4.26401 4.313823-4.26401C4.134496-4.26401 3.666252-4.283935 3.447073-4.293898V-3.985056C3.755915-3.975093 3.915318-3.805729 3.915318-3.556663C3.915318-3.457036 3.905355-3.437111 3.855542-3.317559L2.849315-.86675L1.743462-3.5467C1.703611-3.646326 1.683686-3.686177 1.683686-3.726027C1.683686-3.985056 2.052304-3.985056 2.241594-3.985056V-4.293898C1.982565-4.283935 1.325031-4.26401 1.155666-4.26401C.886675-4.26401 .488169-4.273973 .18929-4.293898V-3.985056C.667497-3.985056 .856787-3.985056 .996264-3.636364L2.49066 0C2.440847 .129514 2.30137 .458281 2.241594 .587796C2.022416 1.135741 1.743462 1.823163 1.105853 1.823163C1.05604 1.823163 .826899 1.823163 .637609 1.643836C.946451 1.603985 1.026152 1.384807 1.026152 1.225405C1.026152 .966376 .836862 .806974 .607721 .806974C.408468 .806974 .18929 .936488 .18929 1.235367C.18929 1.683686 .607721 2.042341 1.105853 2.042341C1.733499 2.042341 2.141968 1.474471 2.381071 .9066L4.134496-3.347447Z'/>\n\x3Cpath id='g0-45' d='M3.16812-1.733499V-2.699875H.129514V-1.733499H3.16812Z'/>\n\x3Cpath id='g0-46' d='M2.361146-.777086C2.361146-1.205479 2.012453-1.554172 1.58406-1.554172S.806974-1.205479 .806974-.777086S1.155666 0 1.58406 0S2.361146-.348692 2.361146-.777086Z'/>\n\x3Cpath id='g0-49' d='M3.526775-6.206725C3.526775-6.425903 3.526775-6.525529 3.267746-6.525529C3.158157-6.525529 3.138232-6.525529 3.048568-6.455791C2.281445-5.88792 1.255293-5.88792 1.046077-5.88792H.846824V-5.419676H1.046077C1.205479-5.419676 1.753425-5.429639 2.34122-5.618929V-.468244H.956413V0C1.39477-.029888 2.450809-.029888 2.938979-.029888S4.483188-.029888 4.921544 0V-.468244H3.526775V-6.206725Z'/>\n\x3Cpath id='g0-50' d='M5.150685-2.211706H4.682441C4.652553-2.012453 4.562889-1.374844 4.423412-1.305106C4.313823-1.24533 3.566625-1.24533 3.407223-1.24533H1.942715C2.410959-1.633873 2.929016-2.062267 3.377335-2.391034C4.513076-3.227895 5.150685-3.696139 5.150685-4.64259C5.150685-5.788294 4.11457-6.525529 2.709838-6.525529C1.504359-6.525529 .56787-5.907846 .56787-5.011208C.56787-4.423412 1.046077-4.273973 1.285181-4.273973C1.603985-4.273973 2.002491-4.493151 2.002491-4.991283C2.002491-5.50934 1.58406-5.668742 1.43462-5.708593C1.723537-5.947696 2.102117-6.057285 2.460772-6.057285C3.317559-6.057285 3.775841-5.379826 3.775841-4.632628C3.775841-3.945205 3.39726-3.267746 2.699875-2.560399L.697385-.518057C.56787-.398506 .56787-.37858 .56787-.179328V0H4.841843L5.150685-2.211706Z'/>\n\x3Cpath id='g0-51' d='M3.506849-3.506849C4.194271-3.716065 4.921544-4.283935 4.921544-5.140722C4.921544-5.907846 4.164384-6.525529 2.759651-6.525529C1.574097-6.525529 .797011-5.88792 .797011-5.090909C.797011-4.662516 1.105853-4.393524 1.484433-4.393524C1.932752-4.393524 2.181818-4.712329 2.181818-5.080946C2.181818-5.65878 1.643836-5.768369 1.603985-5.778331C1.952677-6.057285 2.391034-6.136986 2.699875-6.136986C3.526775-6.136986 3.556663-5.499377 3.556663-5.17061C3.556663-5.041096 3.5467-3.73599 2.510585-3.676214C2.102117-3.656289 2.082192-3.646326 2.032379-3.636364C1.932752-3.626401 1.912827-3.526775 1.912827-3.466999C1.912827-3.287671 2.012453-3.287671 2.191781-3.287671H2.630137C3.716065-3.287671 3.716065-2.311333 3.716065-1.803238C3.716065-1.334994 3.716065-.318804 2.67995-.318804C2.420922-.318804 1.902864-.358655 1.424658-.657534C1.753425-.747198 2.002491-.996264 2.002491-1.404732C2.002491-1.853051 1.683686-2.161893 1.24533-2.161893C.826899-2.161893 .478207-1.892902 .478207-1.384807C.478207-.488169 1.444583 .109589 2.729763 .109589C4.513076 .109589 5.240349-.886675 5.240349-1.793275C5.240349-2.34122 4.951432-3.198007 3.506849-3.506849Z'/>\n\x3Cpath id='g0-52' d='M4.433375-1.554172H5.399751V-2.022416H4.433375V-6.216687C4.433375-6.485679 4.41345-6.535492 4.134496-6.535492C3.92528-6.535492 3.915318-6.525529 3.795766-6.37609L.318804-2.022416V-1.554172H3.188045V-.468244H2.072229V0C2.450809-.029888 3.35741-.029888 3.785803-.029888C4.184309-.029888 5.051059-.029888 5.399751 0V-.468244H4.433375V-1.554172ZM3.297634-2.022416H.836862L3.297634-5.110834V-2.022416Z'/>\n\x3Cpath id='g0-67' d='M7.631382-6.665006C7.631382-6.854296 7.631382-6.94396 7.452055-6.94396C7.362391-6.94396 7.342466-6.924035 7.262765-6.854296L6.60523-6.266501C5.987547-6.764633 5.32005-6.94396 4.64259-6.94396C2.161893-6.94396 .637609-5.459527 .637609-3.417186S2.161893 .109589 4.64259 .109589C6.505604 .109589 7.631382-1.115816 7.631382-2.261519C7.631382-2.460772 7.561644-2.470735 7.392279-2.470735C7.262765-2.470735 7.173101-2.470735 7.163138-2.30137C7.0934-.966376 5.88792-.358655 4.881694-.358655C4.104608-.358655 3.267746-.597758 2.749689-1.205479C2.281445-1.77335 2.161893-2.520548 2.161893-3.417186C2.161893-3.975093 2.191781-5.051059 2.819427-5.708593C3.466999-6.366127 4.333748-6.475716 4.851806-6.475716C5.927771-6.475716 6.874222-5.718555 7.0934-4.4533C7.123288-4.26401 7.13325-4.244085 7.362391-4.244085C7.62142-4.244085 7.631382-4.26401 7.631382-4.523039V-6.665006Z'/>\n\x3Cpath id='g0-69' d='M7.202989-2.729763H6.734745C6.515567-1.354919 6.236613-.468244 4.393524-.468244H2.879203V-3.277709H3.427148C4.383562-3.277709 4.483188-2.849315 4.483188-2.11208H4.951432V-4.911582H4.483188C4.483188-4.174346 4.393524-3.745953 3.427148-3.745953H2.879203V-6.306351H4.393524C5.997509-6.306351 6.256538-5.579078 6.41594-4.373599H6.884184L6.575342-6.774595H.388543V-6.306351H1.464508V-.468244H.388543V0H6.744707L7.202989-2.729763Z'/>\n\x3Cpath id='g0-76' d='M6.405978-2.729763H5.937733C5.858032-2.042341 5.688667-.468244 3.905355-.468244H2.879203V-6.366127H4.224159V-6.834371C3.785803-6.804483 2.699875-6.804483 2.211706-6.804483C1.77335-6.804483 .767123-6.804483 .388543-6.834371V-6.366127H1.464508V-.468244H.388543V0H6.097136L6.405978-2.729763Z'/>\n\x3Cpath id='g0-84' d='M7.332503-6.724782H.627646L.418431-4.323786H.886675C.976339-5.449564 1.075965-6.256538 2.510585-6.256538H3.277709V-.468244H1.753425V0C2.291407-.029888 3.39726-.029888 3.985056-.029888S5.678705-.029888 6.216687 0V-.468244H4.692403V-6.256538H5.449564C6.874222-6.256538 6.973848-5.459527 7.073474-4.323786H7.541719L7.332503-6.724782Z'/>\n\x3Cpath id='g0-87' d='M10.650062-6.127024C10.709838-6.296389 10.719801-6.316314 11.028643-6.346202C11.227895-6.366127 11.437111-6.366127 11.596513-6.366127V-6.834371C11.327522-6.824408 10.978829-6.804483 10.530511-6.804483C10.15193-6.804483 9.534247-6.804483 9.175592-6.834371V-6.366127C9.424658-6.366127 9.902864-6.366127 10.191781-6.256538L8.478207-1.803238L6.714819-6.366127H7.671233V-6.834371C7.292653-6.804483 6.356164-6.804483 5.927771-6.804483C5.539228-6.804483 4.752179-6.804483 4.403487-6.834371V-6.366127H5.260274L5.668742-5.310087L4.313823-1.803238L2.550436-6.366127H3.506849V-6.834371C3.128269-6.804483 2.191781-6.804483 1.763387-6.804483C1.374844-6.804483 .587796-6.804483 .239103-6.834371V-6.366127H1.09589L3.486924-.179328C3.5467-.019925 3.58655 .079701 3.835616 .079701S4.124533-.019925 4.184309-.179328L5.917808-4.662516L7.651308-.179328C7.711083-.019925 7.750934 .079701 8 .079701S8.288917-.019925 8.348692-.179328L10.650062-6.127024Z'/>\n\x3Cpath id='g0-97' d='M3.726027-.767123C3.726027-.458281 3.726027 0 4.762142 0H5.240349C5.439601 0 5.559153 0 5.559153-.239103C5.559153-.468244 5.429639-.468244 5.300125-.468244C4.692403-.478207 4.692403-.607721 4.692403-.836862V-2.978829C4.692403-3.865504 3.985056-4.513076 2.500623-4.513076C1.932752-4.513076 .71731-4.473225 .71731-3.596513C.71731-3.158157 1.066002-2.968867 1.334994-2.968867C1.643836-2.968867 1.96264-3.178082 1.96264-3.596513C1.96264-3.895392 1.77335-4.064757 1.743462-4.084682C2.022416-4.144458 2.34122-4.154421 2.460772-4.154421C3.20797-4.154421 3.556663-3.73599 3.556663-2.978829V-2.6401C2.849315-2.610212 .318804-2.520548 .318804-1.075965C.318804-.119552 1.554172 .059776 2.241594 .059776C3.038605 .059776 3.506849-.348692 3.726027-.767123ZM3.556663-2.331258V-1.384807C3.556663-.428394 2.6401-.298879 2.391034-.298879C1.882939-.298879 1.484433-.647572 1.484433-1.085928C1.484433-2.161893 3.058531-2.30137 3.556663-2.331258Z'/>\n\x3Cpath id='g0-99' d='M3.58655-4.054795C3.407223-3.895392 3.387298-3.686177 3.387298-3.596513C3.387298-3.158157 3.73599-2.968867 4.004981-2.968867C4.313823-2.968867 4.632628-3.178082 4.632628-3.596513C4.632628-4.4533 3.476961-4.513076 2.899128-4.513076C1.115816-4.513076 .37858-3.367372 .37858-2.211706C.37858-.886675 1.315068 .059776 2.849315 .059776C4.463263 .059776 4.762142-1.09589 4.762142-1.165629C4.762142-1.305106 4.622665-1.305106 4.523039-1.305106C4.343711-1.305106 4.333748-1.285181 4.283935-1.155666C4.024907-.52802 3.5467-.33873 3.038605-.33873C1.653798-.33873 1.653798-1.803238 1.653798-2.261519C1.653798-2.819427 1.653798-4.11457 2.938979-4.11457C3.287671-4.11457 3.457036-4.084682 3.58655-4.054795Z'/>\n\x3Cpath id='g0-100' d='M4.164384-.428394V.059776L5.987547 0V-.468244C5.369863-.468244 5.300125-.468244 5.300125-.856787V-6.914072L3.536737-6.834371V-6.366127C4.154421-6.366127 4.224159-6.366127 4.224159-5.977584V-4.034869C3.726027-4.423412 3.20797-4.483188 2.879203-4.483188C1.424658-4.483188 .37858-3.606476 .37858-2.201743C.37858-.886675 1.295143 .059776 2.769614 .059776C3.377335 .059776 3.855542-.179328 4.164384-.428394ZM4.164384-3.516812V-1.026152C4.034869-.846824 3.626401-.298879 2.86924-.298879C1.653798-.298879 1.653798-1.504359 1.653798-2.201743C1.653798-2.67995 1.653798-3.217933 1.912827-3.606476C2.201743-4.024907 2.669988-4.124533 2.978829-4.124533C3.5467-4.124533 3.945205-3.805729 4.164384-3.516812Z'/>\n\x3Cpath id='g0-101' d='M4.60274-2.171856C4.821918-2.171856 4.921544-2.171856 4.921544-2.440847C4.921544-2.749689 4.861768-3.476961 4.363636-3.975093C3.995019-4.333748 3.466999-4.513076 2.779577-4.513076C1.185554-4.513076 .318804-3.486924 .318804-2.241594C.318804-.9066 1.315068 .059776 2.919054 .059776C4.493151 .059776 4.921544-.996264 4.921544-1.165629C4.921544-1.344956 4.732254-1.344956 4.682441-1.344956C4.513076-1.344956 4.493151-1.295143 4.433375-1.135741C4.224159-.657534 3.656289-.33873 3.008717-.33873C1.603985-.33873 1.594022-1.663761 1.594022-2.171856H4.60274ZM1.594022-2.500623C1.613948-2.889166 1.62391-3.307597 1.833126-3.636364C2.092154-4.034869 2.49066-4.154421 2.779577-4.154421C3.945205-4.154421 3.965131-2.849315 3.975093-2.500623H1.594022Z'/>\n\x3Cpath id='g0-103' d='M2.540473-1.892902C1.663761-1.892902 1.663761-2.560399 1.663761-3.008717S1.663761-4.124533 2.540473-4.124533S3.417186-3.457036 3.417186-3.008717S3.417186-1.892902 2.540473-1.892902ZM1.325031-1.793275C1.783313-1.554172 2.291407-1.534247 2.540473-1.534247C3.975093-1.534247 4.523039-2.311333 4.523039-3.008717C4.523039-3.476961 4.273973-3.805729 4.124533-3.965131C4.423412-4.124533 4.632628-4.144458 4.742217-4.154421C4.722291-4.104608 4.702366-4.014944 4.702366-3.955168C4.702366-3.706102 4.871731-3.526775 5.13076-3.526775S5.559153-3.716065 5.559153-3.955168C5.559153-4.184309 5.389788-4.533001 4.931507-4.533001C4.782067-4.533001 4.313823-4.503113 3.875467-4.154421C3.696139-4.273973 3.277709-4.483188 2.540473-4.483188C1.105853-4.483188 .557908-3.706102 .557908-3.008717C.557908-2.600249 .757161-2.191781 1.075965-1.96264C.797011-1.613948 .737235-1.285181 .737235-1.075965C.737235-.926526 .777086-.438356 1.175592-.119552C1.046077-.089664 .318804 .119552 .318804 .747198C.318804 1.255293 .86675 2.002491 2.859278 2.002491C4.622665 2.002491 5.399751 1.414695 5.399751 .71731C5.399751 .418431 5.32005-.209215 4.652553-.547945C4.094645-.826899 3.496887-.826899 2.540473-.826899C2.281445-.826899 1.823163-.826899 1.77335-.836862C1.334994-.9066 1.225405-1.285181 1.225405-1.464508C1.225405-1.564134 1.265255-1.713574 1.325031-1.793275ZM1.942715 .129514H3.108344C3.417186 .129514 4.542964 .129514 4.542964 .747198C4.542964 1.105853 4.154421 1.643836 2.859278 1.643836C1.663761 1.643836 1.175592 1.185554 1.175592 .727273C1.175592 .129514 1.803238 .129514 1.942715 .129514Z'/>\n\x3Cpath id='g0-105' d='M2.231631-4.483188L.498132-4.403487V-3.935243C1.085928-3.935243 1.155666-3.935243 1.155666-3.5467V-.468244H.468244V0C.777086-.009963 1.265255-.029888 1.683686-.029888C1.982565-.029888 2.49066-.009963 2.849315 0V-.468244H2.231631V-4.483188ZM2.331258-6.146949C2.331258-6.585305 1.972603-6.924035 1.554172-6.924035C1.125778-6.924035 .777086-6.575342 .777086-6.146949S1.125778-5.369863 1.554172-5.369863C1.972603-5.369863 2.331258-5.708593 2.331258-6.146949Z'/>\n\x3Cpath id='g0-108' d='M2.231631-6.914072L.468244-6.834371V-6.366127C1.085928-6.366127 1.155666-6.366127 1.155666-5.977584V-.468244H.468244V0C.787049-.009963 1.265255-.029888 1.693649-.029888S2.580324-.009963 2.919054 0V-.468244H2.231631V-6.914072Z'/>\n\x3Cpath id='g0-110' d='M1.135741-3.5467V-.468244H.448319V0C.727273-.009963 1.325031-.029888 1.703611-.029888C2.092154-.029888 2.67995-.009963 2.958904 0V-.468244H2.271482V-2.550436C2.271482-3.636364 3.128269-4.124533 3.755915-4.124533C4.094645-4.124533 4.303861-3.915318 4.303861-3.158157V-.468244H3.616438V0C3.895392-.009963 4.493151-.029888 4.871731-.029888C5.260274-.029888 5.84807-.009963 6.127024 0V-.468244H5.439601V-3.048568C5.439601-4.094645 4.901619-4.483188 3.905355-4.483188C2.948941-4.483188 2.420922-3.915318 2.161893-3.407223V-4.483188L.448319-4.403487V-3.935243C1.066002-3.935243 1.135741-3.935243 1.135741-3.5467Z'/>\n\x3Cpath id='g0-111' d='M5.399751-2.171856C5.399751-3.506849 4.483188-4.513076 2.859278-4.513076C1.225405-4.513076 .318804-3.496887 .318804-2.171856C.318804-.936488 1.195517 .059776 2.859278 .059776C4.533001 .059776 5.399751-.946451 5.399751-2.171856ZM2.859278-.33873C1.594022-.33873 1.594022-1.414695 1.594022-2.281445C1.594022-2.729763 1.594022-3.237858 1.763387-3.576588C1.952677-3.945205 2.371108-4.154421 2.859278-4.154421C3.277709-4.154421 3.696139-3.995019 3.915318-3.646326C4.124533-3.307597 4.124533-2.759651 4.124533-2.281445C4.124533-1.414695 4.124533-.33873 2.859278-.33873Z'/>\n\x3Cpath id='g0-114' d='M2.022416-3.35741V-4.483188L.368618-4.403487V-3.935243C.986301-3.935243 1.05604-3.935243 1.05604-3.5467V-.468244H.368618V0C.71731-.009963 1.165629-.029888 1.62391-.029888C2.002491-.029888 2.6401-.029888 2.998755 0V-.468244H2.132005V-2.211706C2.132005-2.909091 2.381071-4.124533 3.377335-4.124533C3.367372-4.11457 3.188045-3.955168 3.188045-3.666252C3.188045-3.257783 3.506849-3.058531 3.795766-3.058531S4.403487-3.267746 4.403487-3.666252C4.403487-4.194271 3.865504-4.483188 3.347447-4.483188C2.650062-4.483188 2.251557-3.985056 2.022416-3.35741Z'/>\n\x3Cpath id='g0-115' d='M2.102117-2.929016C1.733499-2.998755 1.085928-3.108344 1.085928-3.576588C1.085928-4.194271 2.012453-4.194271 2.201743-4.194271C2.948941-4.194271 3.327522-3.905355 3.377335-3.35741C3.387298-3.20797 3.39726-3.158157 3.606476-3.158157C3.845579-3.158157 3.845579-3.20797 3.845579-3.437111V-4.234122C3.845579-4.423412 3.845579-4.513076 3.666252-4.513076C3.626401-4.513076 3.606476-4.513076 3.217933-4.323786C2.958904-4.4533 2.610212-4.513076 2.211706-4.513076C1.912827-4.513076 .37858-4.513076 .37858-3.20797C.37858-2.809465 .577833-2.540473 .777086-2.371108C1.175592-2.022416 1.554172-1.96264 2.321295-1.823163C2.67995-1.763387 3.427148-1.633873 3.427148-1.046077C3.427148-.298879 2.510585-.298879 2.291407-.298879C1.235367-.298879 .976339-1.026152 .856787-1.454545C.806974-1.594022 .757161-1.594022 .617684-1.594022C.37858-1.594022 .37858-1.534247 .37858-1.305106V-.219178C.37858-.029888 .37858 .059776 .557908 .059776C.627646 .059776 .647572 .059776 .856787-.089664C.86675-.089664 1.085928-.239103 1.115816-.259029C1.574097 .059776 2.092154 .059776 2.291407 .059776C2.600249 .059776 4.134496 .059776 4.134496-1.39477C4.134496-1.823163 3.935243-2.171856 3.58655-2.450809C3.198007-2.739726 2.879203-2.799502 2.102117-2.929016Z'/>\n\x3Cpath id='g0-116' d='M1.026152-3.955168V-1.225405C1.026152-.159402 1.892902 .059776 2.600249 .059776C3.35741 .059776 3.805729-.508095 3.805729-1.235367V-1.763387H3.337484V-1.255293C3.337484-.577833 3.01868-.33873 2.739726-.33873C2.161893-.33873 2.161893-.976339 2.161893-1.205479V-3.955168H3.616438V-4.423412H2.161893V-6.326276H1.693649C1.683686-5.330012 1.195517-4.343711 .209215-4.313823V-3.955168H1.026152Z'/>\n\x3Cpath id='g0-117' d='M4.363636-.71731V.059776L6.127024 0V-.468244C5.50934-.468244 5.439601-.468244 5.439601-.856787V-4.483188L3.616438-4.403487V-3.935243C4.234122-3.935243 4.303861-3.935243 4.303861-3.5467V-1.643836C4.303861-.826899 3.795766-.298879 3.068493-.298879C2.30137-.298879 2.271482-.547945 2.271482-1.085928V-4.483188L.448319-4.403487V-3.935243C1.066002-3.935243 1.135741-3.935243 1.135741-3.5467V-1.225405C1.135741-.159402 1.942715 .059776 2.929016 .059776C3.188045 .059776 3.905355 .059776 4.363636-.71731Z'/>\n\x3Cpath id='g0-120' d='M3.447073-2.450809L4.612702-3.745953C4.742217-3.88543 4.801993-3.955168 5.628892-3.955168V-4.423412C5.280199-4.403487 4.762142-4.393524 4.712329-4.393524C4.463263-4.393524 3.965131-4.41345 3.686177-4.423412V-3.955168C3.825654-3.955168 3.945205-3.935243 4.064757-3.865504C4.024907-3.805729 4.024907-3.785803 3.985056-3.745953L3.148194-2.809465L2.171856-3.955168H2.570361V-4.423412C2.311333-4.41345 1.683686-4.393524 1.364882-4.393524S.597758-4.41345 .268991-4.423412V-3.955168H.976339L2.530511-2.122042L1.225405-.657534C1.05604-.468244 .697385-.468244 .219178-.468244V0C.56787-.019925 1.085928-.029888 1.135741-.029888C1.384807-.029888 1.96264-.009963 2.161893 0V-.468244C1.982565-.468244 1.793275-.518057 1.793275-.577833C1.793275-.587796 1.793275-.597758 1.863014-.67746L2.82939-1.763387L3.92528-.468244H3.536737V0C3.795766-.009963 4.403487-.029888 4.732254-.029888C5.051059-.029888 5.499377-.009963 5.828144 0V-.468244H5.120797L3.447073-2.450809Z'/>\n\x3C/defs>\n\x3Cg id='page1'>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 135.267L 72.4006 135.267C 74.4978 135.267 76.1979 133.567 76.1979 131.469L 76.1979 120.077C 76.1979 117.98 74.4978 116.28 72.4006 116.28L 4.04829 116.28C 1.95107 116.28 0.250937 117.98 0.250937 120.077L 0.250937 131.469C 0.250937 133.567 1.95107 135.267 4.04829 135.267Z' fill='#c0ffff'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 135.267L 72.4006 135.267C 74.4978 135.267 76.1979 133.567 76.1979 131.469L 76.1979 120.077C 76.1979 117.98 74.4978 116.28 72.4006 116.28L 4.04829 116.28C 1.95107 116.28 0.250937 117.98 0.250937 120.077L 0.250937 131.469C 0.250937 133.567 1.95107 135.267 4.04829 135.267Z' fill='none' stroke='#000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='0.501875'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 165.646L 72.4006 165.646C 74.4978 165.646 76.1979 163.945 76.1979 161.848L 76.1979 150.456C 76.1979 148.359 74.4978 146.659 72.4006 146.659L 4.04829 146.659C 1.95107 146.659 0.250937 148.359 0.250937 150.456L 0.250937 161.848C 0.250937 163.945 1.95107 165.646 4.04829 165.646Z' fill='#c0ffc0'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 165.646L 72.4006 165.646C 74.4978 165.646 76.1979 163.945 76.1979 161.848L 76.1979 150.456C 76.1979 148.359 74.4978 146.659 72.4006 146.659L 4.04829 146.659C 1.95107 146.659 0.250937 148.359 0.250937 150.456L 0.250937 161.848C 0.250937 163.945 1.95107 165.646 4.04829 165.646Z' fill='none' stroke='#000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='0.501875'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 196.024L 72.4006 196.024C 74.4978 196.024 76.1979 194.324 76.1979 192.227L 76.1979 180.835C 76.1979 178.738 74.4978 177.038 72.4006 177.038L 4.04829 177.038C 1.95107 177.038 0.250937 178.738 0.250937 180.835L 0.250937 192.227C 0.250937 194.324 1.95107 196.024 4.04829 196.024Z' fill='#ffff80'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 196.024L 72.4006 196.024C 74.4978 196.024 76.1979 194.324 76.1979 192.227L 76.1979 180.835C 76.1979 178.738 74.4978 177.038 72.4006 177.038L 4.04829 177.038C 1.95107 177.038 0.250937 178.738 0.250937 180.835L 0.250937 192.227C 0.250937 194.324 1.95107 196.024 4.04829 196.024Z' fill='none' stroke='#000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='0.501875'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 226.403L 72.4006 226.403C 74.4978 226.403 76.1979 224.703 76.1979 222.606L 76.1979 211.214C 76.1979 209.116 74.4978 207.416 72.4006 207.416L 4.04829 207.416C 1.95107 207.416 0.250937 209.116 0.250937 211.214L 0.250937 222.606C 0.250937 224.703 1.95107 226.403 4.04829 226.403Z' fill='#ffc0c0'/>\n\x3C/g>\n\x3Cg transform='translate(94.4911 179.162)scale(.996264)'>\n\x3Cpath d='M 4.04829 226.403L 72.4006 226.403C 74.4978 226.403 76.1979 224.703 76.1979 222.606L 76.1979 211.214C 76.1979 209.116 74.4978 207.416 72.4006 207.416L 4.04829 207.416C 1.95107 207.416 0.250937 209.116 0.250937 211.214L 0.250937 222.606C 0.250937 224.703 1.95107 226.403 4.04829 226.403Z' fill='none' stroke='#000000' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10.0375' stroke-width='0.501875'/>\n\x3C/g>\n\x3Cuse x='128.076506' y='186.817805' xlink:href='#g0-49'/>\n\x3Cuse x='133.804994' y='186.817805' xlink:href='#g0-46'/>\n\x3Cuse x='128.076506' y='198.772973' xlink:href='#g0-87'/>\n\x3Cuse x='138.96617' y='198.772973' xlink:href='#g0-114'/>\n\x3Cuse x='143.684575' y='198.772973' xlink:href='#g0-105'/>\n\x3Cuse x='146.867068' y='198.772973' xlink:href='#g0-116'/>\n\x3Cuse x='151.322559' y='198.772973' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='210.728141' xlink:href='#g0-105'/>\n\x3Cuse x='131.258999' y='210.728141' xlink:href='#g0-110'/>\n\x3Cuse x='137.623986' y='210.728141' xlink:href='#g0-103'/>\n\x3Cuse x='128.076506' y='222.683309' xlink:href='#g0-67'/>\n\x3Cuse x='136.350988' y='222.683309' xlink:href='#g0-111'/>\n\x3Cuse x='142.397725' y='222.683309' xlink:href='#g0-100'/>\n\x3Cuse x='148.762712' y='222.683309' xlink:href='#g0-101'/>\n\x3Cuse x='128.076506' y='234.638477' xlink:href='#g1-65'/>\n\x3Cuse x='128.076506' y='246.593645' xlink:href='#g1-112'/>\n\x3Cuse x='133.611323' y='246.593645' xlink:href='#g1-114'/>\n\x3Cuse x='137.513374' y='246.593645' xlink:href='#g1-111'/>\n\x3Cuse x='142.494713' y='246.593645' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='258.548814' xlink:href='#g1-103'/>\n\x3Cuse x='133.057845' y='258.548814' xlink:href='#g1-114'/>\n\x3Cuse x='136.959896' y='258.548814' xlink:href='#g1-97'/>\n\x3Cuse x='141.941235' y='258.548814' xlink:href='#g1-109'/>\n\x3Cuse x='150.24346' y='258.548814' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='270.503982' xlink:href='#g1-109'/>\n\x3Cuse x='136.378732' y='270.503982' xlink:href='#g1-101'/>\n\x3Cuse x='140.806583' y='270.503982' xlink:href='#g1-114'/>\n\x3Cuse x='128.076506' y='282.45915' xlink:href='#g1-119'/>\n\x3Cuse x='135.271766' y='282.45915' xlink:href='#g1-114'/>\n\x3Cuse x='139.173817' y='282.45915' xlink:href='#g1-105'/>\n\x3Cuse x='141.941225' y='282.45915' xlink:href='#g1-116'/>\n\x3Cuse x='145.815599' y='282.45915' xlink:href='#g1-101'/>\n\x3Cuse x='150.243451' y='282.45915' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='294.414318' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='294.414318' xlink:href='#g1-110'/>\n\x3Cuse x='136.378732' y='294.414318' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='306.369486' xlink:href='#g1-115'/>\n\x3Cuse x='132.006224' y='306.369486' xlink:href='#g1-116'/>\n\x3Cuse x='135.880598' y='306.369486' xlink:href='#g1-114'/>\n\x3Cuse x='139.782648' y='306.369486' xlink:href='#g1-117'/>\n\x3Cuse x='145.317465' y='306.369486' xlink:href='#g1-99'/>\n\x3Cuse x='149.745317' y='306.369486' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='318.324654' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='318.324654' xlink:href='#g1-105'/>\n\x3Cuse x='134.718289' y='318.324654' xlink:href='#g1-111'/>\n\x3Cuse x='139.699628' y='318.324654' xlink:href='#g1-110'/>\n\x3Cuse x='145.234445' y='318.324654' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='330.279822' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='330.279822' xlink:href='#g1-110'/>\n\x3Cuse x='128.076506' y='342.23499' xlink:href='#g1-97'/>\n\x3Cuse x='128.076506' y='354.190158' xlink:href='#g1-112'/>\n\x3Cuse x='133.611323' y='354.190158' xlink:href='#g1-114'/>\n\x3Cuse x='137.513374' y='354.190158' xlink:href='#g1-111'/>\n\x3Cuse x='142.494713' y='354.190158' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='366.145327' xlink:href='#g1-103'/>\n\x3Cuse x='133.057845' y='366.145327' xlink:href='#g1-114'/>\n\x3Cuse x='136.959896' y='366.145327' xlink:href='#g1-97'/>\n\x3Cuse x='141.941235' y='366.145327' xlink:href='#g1-109'/>\n\x3Cuse x='150.24346' y='366.145327' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='378.100495' xlink:href='#g1-109'/>\n\x3Cuse x='136.378732' y='378.100495' xlink:href='#g1-105'/>\n\x3Cuse x='139.14614' y='378.100495' xlink:href='#g1-110'/>\n\x3Cuse x='144.680957' y='378.100495' xlink:href='#g1-103'/>\n\x3Cuse x='128.076506' y='390.055663' xlink:href='#g1-108'/>\n\x3Cuse x='130.843915' y='390.055663' xlink:href='#g1-97'/>\n\x3Cuse x='135.825254' y='390.055663' xlink:href='#g1-110'/>\n\x3Cuse x='141.360071' y='390.055663' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='402.010831' xlink:href='#g1-103'/>\n\x3Cuse x='133.057845' y='402.010831' xlink:href='#g1-117'/>\n\x3Cuse x='138.592662' y='402.010831' xlink:href='#g1-97'/>\n\x3Cuse x='143.574001' y='402.010831' xlink:href='#g1-103'/>\n\x3Cuse x='148.55534' y='402.010831' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='413.965999' xlink:href='#g1-40'/>\n\x3Cuse x='131.95088' y='413.965999' xlink:href='#g1-108'/>\n\x3Cuse x='134.718289' y='413.965999' xlink:href='#g1-105'/>\n\x3Cuse x='137.485697' y='413.965999' xlink:href='#g1-107'/>\n\x3Cuse x='142.467036' y='413.965999' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='425.921167' xlink:href='#g1-80'/>\n\x3Cuse x='134.856653' y='425.921167' xlink:href='#g1-121'/>\n\x3Cuse x='140.114741' y='425.921167' xlink:href='#g1-116'/>\n\x3Cuse x='143.989115' y='425.921167' xlink:href='#g1-104'/>\n\x3Cuse x='149.523931' y='425.921167' xlink:href='#g1-111'/>\n\x3Cuse x='154.505271' y='425.921167' xlink:href='#g1-110'/>\n\x3Cuse x='160.040087' y='425.921167' xlink:href='#g1-41'/>\n\x3Cuse x='163.914461' y='425.921167' xlink:href='#g1-46'/>\n\x3Cuse x='128.076506' y='217.083109' xlink:href='#g0-50'/>\n\x3Cuse x='133.804994' y='217.083109' xlink:href='#g0-46'/>\n\x3Cuse x='128.076506' y='229.038277' xlink:href='#g0-84'/>\n\x3Cuse x='135.091825' y='229.038277' xlink:href='#g0-114'/>\n\x3Cuse x='139.81023' y='229.038277' xlink:href='#g0-97'/>\n\x3Cuse x='145.379584' y='229.038277' xlink:href='#g0-110'/>\n\x3Cuse x='151.74457' y='229.038277' xlink:href='#g0-115'/>\n\x3Cuse x='156.263708' y='229.038277' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='240.993446' xlink:href='#g0-108'/>\n\x3Cuse x='131.258999' y='240.993446' xlink:href='#g0-97'/>\n\x3Cuse x='136.828353' y='240.993446' xlink:href='#g0-116'/>\n\x3Cuse x='141.283843' y='240.993446' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='252.948614' xlink:href='#g0-105'/>\n\x3Cuse x='131.258999' y='252.948614' xlink:href='#g0-110'/>\n\x3Cuse x='137.623986' y='252.948614' xlink:href='#g0-103'/>\n\x3Cuse x='128.076506' y='264.903782' xlink:href='#g1-65'/>\n\x3Cuse x='128.076506' y='276.85895' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='276.85895' xlink:href='#g1-111'/>\n\x3Cuse x='137.485697' y='276.85895' xlink:href='#g1-109'/>\n\x3Cuse x='145.787922' y='276.85895' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='288.814118' xlink:href='#g1-112'/>\n\x3Cuse x='133.611323' y='288.814118' xlink:href='#g1-105'/>\n\x3Cuse x='136.378732' y='288.814118' xlink:href='#g1-108'/>\n\x3Cuse x='139.14614' y='288.814118' xlink:href='#g1-101'/>\n\x3Cuse x='143.573992' y='288.814118' xlink:href='#g1-114'/>\n\x3Cuse x='128.076506' y='300.769286' xlink:href='#g1-111'/>\n\x3Cuse x='133.057845' y='300.769286' xlink:href='#g1-114'/>\n\x3Cuse x='128.076506' y='312.724454' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='312.724454' xlink:href='#g1-110'/>\n\x3Cuse x='136.378732' y='312.724454' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='324.679622' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='324.679622' xlink:href='#g1-101'/>\n\x3Cuse x='136.378732' y='324.679622' xlink:href='#g1-114'/>\n\x3Cuse x='140.280782' y='324.679622' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='336.634791' xlink:href='#g1-112'/>\n\x3Cuse x='133.611323' y='336.634791' xlink:href='#g1-114'/>\n\x3Cuse x='137.513374' y='336.634791' xlink:href='#g1-101'/>\n\x3Cuse x='141.941225' y='336.634791' xlink:href='#g1-116'/>\n\x3Cuse x='145.815599' y='336.634791' xlink:href='#g1-101'/>\n\x3Cuse x='150.243451' y='336.634791' xlink:href='#g1-114'/>\n\x3Cuse x='128.076506' y='348.589959' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='348.589959' xlink:href='#g1-114'/>\n\x3Cuse x='135.852931' y='348.589959' xlink:href='#g1-97'/>\n\x3Cuse x='140.83427' y='348.589959' xlink:href='#g1-110'/>\n\x3Cuse x='146.369087' y='348.589959' xlink:href='#g1-115'/>\n\x3Cuse x='150.298804' y='348.589959' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='360.545127' xlink:href='#g1-108'/>\n\x3Cuse x='130.843915' y='360.545127' xlink:href='#g1-97'/>\n\x3Cuse x='135.825254' y='360.545127' xlink:href='#g1-116'/>\n\x3Cuse x='139.699628' y='360.545127' xlink:href='#g1-101'/>\n\x3Cuse x='144.127479' y='360.545127' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='372.500295' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='372.500295' xlink:href='#g1-104'/>\n\x3Cuse x='137.485697' y='372.500295' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='384.455463' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='384.455463' xlink:href='#g1-111'/>\n\x3Cuse x='137.762445' y='384.455463' xlink:href='#g1-100'/>\n\x3Cuse x='143.297262' y='384.455463' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='396.410631' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='396.410631' xlink:href='#g1-110'/>\n\x3Cuse x='136.101983' y='396.410631' xlink:href='#g1-116'/>\n\x3Cuse x='139.976357' y='396.410631' xlink:href='#g1-111'/>\n\x3Cuse x='128.076506' y='408.365799' xlink:href='#g1-109'/>\n\x3Cuse x='136.378732' y='408.365799' xlink:href='#g1-97'/>\n\x3Cuse x='141.360071' y='408.365799' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='420.320967' xlink:href='#g1-99'/>\n\x3Cuse x='132.22761' y='420.320967' xlink:href='#g1-104'/>\n\x3Cuse x='137.762426' y='420.320967' xlink:href='#g1-105'/>\n\x3Cuse x='140.529835' y='420.320967' xlink:href='#g1-110'/>\n\x3Cuse x='146.064652' y='420.320967' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='432.276136' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='432.276136' xlink:href='#g1-111'/>\n\x3Cuse x='137.762445' y='432.276136' xlink:href='#g1-100'/>\n\x3Cuse x='143.297262' y='432.276136' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='444.231304' xlink:href='#g1-40'/>\n\x3Cuse x='131.95088' y='444.231304' xlink:href='#g1-98'/>\n\x3Cuse x='137.485697' y='444.231304' xlink:href='#g1-105'/>\n\x3Cuse x='140.253105' y='444.231304' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='456.186472' xlink:href='#g1-110'/>\n\x3Cuse x='133.611323' y='456.186472' xlink:href='#g1-97'/>\n\x3Cuse x='138.592662' y='456.186472' xlink:href='#g1-114'/>\n\x3Cuse x='142.494713' y='456.186472' xlink:href='#g1-121'/>\n\x3Cuse x='147.7528' y='456.186472' xlink:href='#g1-41'/>\n\x3Cuse x='151.627174' y='456.186472' xlink:href='#g1-46'/>\n\x3Cuse x='128.076506' y='241.371848' xlink:href='#g0-51'/>\n\x3Cuse x='133.804994' y='241.371848' xlink:href='#g0-46'/>\n\x3Cuse x='128.076506' y='253.327016' xlink:href='#g0-76'/>\n\x3Cuse x='134.967294' y='253.327016' xlink:href='#g0-111'/>\n\x3Cuse x='140.695781' y='253.327016' xlink:href='#g0-97'/>\n\x3Cuse x='146.265135' y='253.327016' xlink:href='#g0-100'/>\n\x3Cuse x='152.630121' y='253.327016' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='265.282185' xlink:href='#g0-105'/>\n\x3Cuse x='131.258999' y='265.282185' xlink:href='#g0-110'/>\n\x3Cuse x='137.623986' y='265.282185' xlink:href='#g0-103'/>\n\x3Cuse x='128.076506' y='277.237353' xlink:href='#g1-84'/>\n\x3Cuse x='135.271766' y='277.237353' xlink:href='#g1-104'/>\n\x3Cuse x='140.806583' y='277.237353' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='289.192521' xlink:href='#g1-111'/>\n\x3Cuse x='133.057845' y='289.192521' xlink:href='#g1-112'/>\n\x3Cuse x='138.592662' y='289.192521' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='301.147689' xlink:href='#g1-101'/>\n\x3Cuse x='132.504358' y='301.147689' xlink:href='#g1-114'/>\n\x3Cuse x='136.406408' y='301.147689' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='313.102857' xlink:href='#g1-97'/>\n\x3Cuse x='133.057845' y='313.102857' xlink:href='#g1-116'/>\n\x3Cuse x='136.932219' y='313.102857' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='325.058025' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='325.058025' xlink:href='#g1-110'/>\n\x3Cuse x='136.378732' y='325.058025' xlink:href='#g1-103'/>\n\x3Cuse x='128.076506' y='337.013193' xlink:href='#g1-115'/>\n\x3Cuse x='132.006224' y='337.013193' xlink:href='#g1-121'/>\n\x3Cuse x='137.264312' y='337.013193' xlink:href='#g1-115'/>\n\x3Cuse x='141.194029' y='337.013193' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='348.968361' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='348.968361' xlink:href='#g1-101'/>\n\x3Cuse x='136.378732' y='348.968361' xlink:href='#g1-109'/>\n\x3Cuse x='128.076506' y='360.92353' xlink:href='#g1-108'/>\n\x3Cuse x='130.843915' y='360.92353' xlink:href='#g1-111'/>\n\x3Cuse x='135.825254' y='360.92353' xlink:href='#g1-97'/>\n\x3Cuse x='140.806593' y='360.92353' xlink:href='#g1-100'/>\n\x3Cuse x='146.34141' y='360.92353' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='372.878698' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='372.878698' xlink:href='#g1-104'/>\n\x3Cuse x='137.485697' y='372.878698' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='384.833866' xlink:href='#g1-109'/>\n\x3Cuse x='136.378732' y='384.833866' xlink:href='#g1-97'/>\n\x3Cuse x='141.360071' y='384.833866' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='396.789034' xlink:href='#g1-99'/>\n\x3Cuse x='132.22761' y='396.789034' xlink:href='#g1-104'/>\n\x3Cuse x='137.762426' y='396.789034' xlink:href='#g1-105'/>\n\x3Cuse x='140.529835' y='396.789034' xlink:href='#g1-110'/>\n\x3Cuse x='146.064652' y='396.789034' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='408.744202' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='408.744202' xlink:href='#g1-111'/>\n\x3Cuse x='137.762445' y='408.744202' xlink:href='#g1-100'/>\n\x3Cuse x='143.297262' y='408.744202' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='420.69937' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='420.69937' xlink:href='#g1-110'/>\n\x3Cuse x='136.101983' y='420.69937' xlink:href='#g1-116'/>\n\x3Cuse x='139.976357' y='420.69937' xlink:href='#g1-111'/>\n\x3Cuse x='128.076506' y='432.654538' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='432.654538' xlink:href='#g1-104'/>\n\x3Cuse x='137.485697' y='432.654538' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='444.609706' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='444.609706' xlink:href='#g1-111'/>\n\x3Cuse x='137.485697' y='444.609706' xlink:href='#g1-109'/>\n\x3Cuse x='145.787922' y='444.609706' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='456.564875' xlink:href='#g1-112'/>\n\x3Cuse x='133.611323' y='456.564875' xlink:href='#g1-117'/>\n\x3Cuse x='139.14614' y='456.564875' xlink:href='#g1-116'/>\n\x3Cuse x='143.020514' y='456.564875' xlink:href='#g1-101'/>\n\x3Cuse x='147.448366' y='456.564875' xlink:href='#g1-114'/>\n\x3Cuse x='151.350416' y='456.564875' xlink:href='#g1-39'/>\n\x3Cuse x='154.117825' y='456.564875' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='468.520043' xlink:href='#g1-109'/>\n\x3Cuse x='136.378732' y='468.520043' xlink:href='#g1-101'/>\n\x3Cuse x='140.806583' y='468.520043' xlink:href='#g1-109'/>\n\x3Cuse x='149.108809' y='468.520043' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='480.475211' xlink:href='#g1-111'/>\n\x3Cuse x='133.057845' y='480.475211' xlink:href='#g1-114'/>\n\x3Cuse x='136.959896' y='480.475211' xlink:href='#g1-121'/>\n\x3Cuse x='128.076506' y='492.430379' xlink:href='#g1-40'/>\n\x3Cuse x='131.95088' y='492.430379' xlink:href='#g1-82'/>\n\x3Cuse x='139.284505' y='492.430379' xlink:href='#g1-65'/>\n\x3Cuse x='146.756504' y='492.430379' xlink:href='#g1-77'/>\n\x3Cuse x='155.888946' y='492.430379' xlink:href='#g1-41'/>\n\x3Cuse x='159.76332' y='492.430379' xlink:href='#g1-46'/>\n\x3Cuse x='128.076506' y='278.860249' xlink:href='#g0-52'/>\n\x3Cuse x='133.804994' y='278.860249' xlink:href='#g0-46'/>\n\x3Cuse x='128.076506' y='290.815418' xlink:href='#g0-69'/>\n\x3Cuse x='135.603792' y='290.815418' xlink:href='#g0-120'/>\n\x3Cuse x='141.650529' y='290.815418' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='302.770586' xlink:href='#g0-101'/>\n\x3Cuse x='133.327629' y='302.770586' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='314.725754' xlink:href='#g0-99'/>\n\x3Cuse x='133.168495' y='314.725754' xlink:href='#g0-117'/>\n\x3Cuse x='139.533482' y='314.725754' xlink:href='#g0-116'/>\n\x3Cuse x='143.988972' y='314.725754' xlink:href='#g0-45'/>\n\x3Cuse x='128.076506' y='326.680922' xlink:href='#g0-105'/>\n\x3Cuse x='131.258999' y='326.680922' xlink:href='#g0-110'/>\n\x3Cuse x='137.623986' y='326.680922' xlink:href='#g0-103'/>\n\x3Cuse x='128.076506' y='338.63609' xlink:href='#g1-84'/>\n\x3Cuse x='135.271766' y='338.63609' xlink:href='#g1-104'/>\n\x3Cuse x='140.806583' y='338.63609' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='350.591258' xlink:href='#g1-67'/>\n\x3Cuse x='135.271766' y='350.591258' xlink:href='#g1-80'/>\n\x3Cuse x='142.051913' y='350.591258' xlink:href='#g1-85'/>\n\x3Cuse x='128.076506' y='362.546426' xlink:href='#g1-114'/>\n\x3Cuse x='131.978557' y='362.546426' xlink:href='#g1-101'/>\n\x3Cuse x='136.406408' y='362.546426' xlink:href='#g1-97'/>\n\x3Cuse x='141.387748' y='362.546426' xlink:href='#g1-100'/>\n\x3Cuse x='146.922564' y='362.546426' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='374.501594' xlink:href='#g1-97'/>\n\x3Cuse x='133.057845' y='374.501594' xlink:href='#g1-110'/>\n\x3Cuse x='138.592662' y='374.501594' xlink:href='#g1-100'/>\n\x3Cuse x='128.076506' y='386.456762' xlink:href='#g1-101'/>\n\x3Cuse x='132.504358' y='386.456762' xlink:href='#g1-120'/>\n\x3Cuse x='137.762445' y='386.456762' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='398.411931' xlink:href='#g1-101'/>\n\x3Cuse x='132.504358' y='398.411931' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='410.367099' xlink:href='#g1-99'/>\n\x3Cuse x='132.504358' y='410.367099' xlink:href='#g1-117'/>\n\x3Cuse x='138.039175' y='410.367099' xlink:href='#g1-116'/>\n\x3Cuse x='141.913549' y='410.367099' xlink:href='#g1-101'/>\n\x3Cuse x='146.3414' y='410.367099' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='422.322267' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='422.322267' xlink:href='#g1-104'/>\n\x3Cuse x='137.485697' y='422.322267' xlink:href='#g1-101'/>\n\x3Cuse x='128.076506' y='434.277435' xlink:href='#g1-105'/>\n\x3Cuse x='130.843915' y='434.277435' xlink:href='#g1-110'/>\n\x3Cuse x='136.378732' y='434.277435' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='446.232603' xlink:href='#g1-115'/>\n\x3Cuse x='132.006224' y='446.232603' xlink:href='#g1-116'/>\n\x3Cuse x='135.880598' y='446.232603' xlink:href='#g1-114'/>\n\x3Cuse x='139.782648' y='446.232603' xlink:href='#g1-117'/>\n\x3Cuse x='145.317465' y='446.232603' xlink:href='#g1-99'/>\n\x3Cuse x='149.745317' y='446.232603' xlink:href='#g1-45'/>\n\x3Cuse x='128.076506' y='458.187771' xlink:href='#g1-116'/>\n\x3Cuse x='131.95088' y='458.187771' xlink:href='#g1-105'/>\n\x3Cuse x='134.718289' y='458.187771' xlink:href='#g1-111'/>\n\x3Cuse x='139.699628' y='458.187771' xlink:href='#g1-110'/>\n\x3Cuse x='145.234445' y='458.187771' xlink:href='#g1-115'/>\n\x3Cuse x='128.076506' y='470.142939' xlink:href='#g1-102'/>\n\x3Cuse x='131.120663' y='470.142939' xlink:href='#g1-114'/>\n\x3Cuse x='135.022",type:"svgGraphic"},uuid:"0|10"},$R[229]={content:$R[230]={type:"text",text:"This entire cycle, from translation to execution, happens in a fraction of a second. The computer's Central Processing Unit (CPU) is the engine that carries out these instructions, performing calculations and manipulating data with incredible speed."},uuid:"0|11"},$R[231]={content:$R[232]={type:"header",text:"Your First Program"},uuid:"0|12"},$R[233]={content:$R[234]={type:"text",text:"Let's look at a classic first program, often called \"Hello, World!\". The goal is simple: make the computer display the text \"Hello, World!\" on the screen. While the exact words change depending on the language, the instruction is fundamentally the same."},uuid:"0|13"},$R[235]={content:$R[236]={type:"blockquote",text:"Display the text: \"Hello, World!\""},uuid:"0|14"},$R[237]={content:$R[238]={type:"text",text:"This might be written as `print(\"Hello, World!\")` in one language or `System.out.println(\"Hello, World!\");` in another. Don't worry about the specific syntax. The key takeaway is that you are writing a command that tells the computer to perform a specific action: outputting text. When you run this single line of code, the computer translates it, loads it, and executes it, resulting in the message appearing on your screen."},uuid:"0|15"},$R[239]={content:$R[240]={type:"realImage",url:"https://oboe-storage.s3.amazonaws.com/dev/imagesReal/v1/c828e45e-363f-412c-9f43-9246a11328fe.jpeg",attributionUrl:"https://commons.wikimedia.org/wiki/File:Hello_World_Brian_Kernighan_1978.jpg",caption:"The \"hello, world\" program is a long-standing tradition for beginners learning to code."},uuid:"0|16"},$R[241]={content:$R[242]={type:"quiz",questions:$R[243]=[$R[244]={text:"What is the fundamental purpose of programming?",options:$R[245]=[$R[246]={text:"To repair and maintain computer systems and networks.",followup:"This is a description of IT support or system administration, not programming.",isRightAnswer:!1},$R[247]={text:"To provide a computer with a set of instructions to perform a specific task.",followup:"Correct! Programming is essentially writing a detailed recipe that a computer follows exactly.",isRightAnswer:!0},$R[248]={text:"To make computers understand and speak human languages like English or Spanish.",followup:"While related to AI, this isn't the core purpose of all programming. Programming languages are a bridge, but they don't make the computer itself understand conversational English.",isRightAnswer:!1},$R[249]={text:"To design the physical, electronic components of a computer.",followup:"This describes hardware engineering. Programming deals with software, which are the instructions that run on the hardware.",isRightAnswer:!1}]},$R[250]={text:"The native language of a computer, consisting of only 0s and 1s, is called ______.",options:$R[251]=[$R[252]={text:"Assembly language",followup:"Assembly is a low-level language that's a bit closer to machine code, but it still uses words and symbols, not just 0s and 1s.",isRightAnswer:!1},$R[253]={text:"Source code",followup:"Source code is the general term for the code written by a programmer in a language like Python or Java, before it gets translated into machine code.",isRightAnswer:!1},$R[254]={text:"Machine code",followup:"That's right! Machine code, or binary, is the lowest-level language that the computer's CPU directly executes.",isRightAnswer:!0},$R[255]={text:"Python code",followup:"Python is a high-level programming language that is much easier for humans to read than the computer's native language.",isRightAnswer:!1}]},$R[256]={text:"What is the role of a compiler or an interpreter?",options:$R[257]=[$R[258]={text:"To physically execute the instructions on the Central Processing Unit (CPU).",followup:"The CPU is what executes instructions, but the compiler/interpreter's job is to translate the code into a format the CPU can understand first.",isRightAnswer:!1},$R[259]={text:"To write the initial 'Hello, World!' program for the user.",followup:"A programmer writes the 'Hello, World!' program; the compiler or interpreter is the tool used to run it.",isRightAnswer:!1},$R[260]={text:"To translate code written in a programming language into binary instructions.",followup:"Correct! They act as a translator, converting human-readable code into machine code.",isRightAnswer:!0}]},$R[261]={text:"True or False: A computer can directly execute code written in a high-level programming language like Python without any translation.",options:$R[262]=[$R[263]={text:"True",followup:"Incorrect. High-level languages must first be translated by a compiler or interpreter into the computer's native binary language (machine code) before the CPU can execute them.",isRightAnswer:!1},$R[264]={text:"False",followup:"Correct. High-level languages need to be translated into machine code (0s and 1s) for the computer to understand and execute the instructions.",isRightAnswer:!0}]},$R[265]={text:"What is the main purpose of a 'Hello, World!' program?",options:$R[266]=[$R[267]={text:"To provide a simple, first-step confirmation that you can make the computer display output.",followup:"Exactly! It's a classic starting point to verify that your programming setup is working correctly and to demonstrate the basic action of outputting text.",isRightAnswer:!0},$R[268]={text:"To translate all human languages into binary code at once.",followup:"The program only deals with the specific text 'Hello, World!', not entire languages.",isRightAnswer:!1},$R[269]={text:"To check for viruses and malware on the system.",followup:"This program doesn't have security-checking capabilities; it's much simpler.",isRightAnswer:!1},$R[270]={text:"To test the maximum processing speed of a computer's CPU.",followup:"A 'Hello, World!' program is far too simple to be used for performance testing.",isRightAnswer:!1}]}]},uuid:"0|17"},$R[271]={content:$R[272]={type:"text",text:"This simple example contains the essence of all programming. You identify a task, write instructions in a language, and have the computer execute them to produce a result. Every complex piece of software is built from these same fundamental building blocks."},uuid:"0|18"}]},$R[273]={uuid:"1",title:"Variables and Data Types",includesKnowledgeBase:!1,hasDemonstratedMastery:!1,streaming:!1,blocks:$R[274]=[$R[275]={content:$R[276]={type:"header",text:"Storing Information"},uuid:"1|0"},$R[277]={content:$R[278]={type:"text",text:"Programs are all about working with information, or data. This could be a username, the price of a product, a score in a game, or a simple yes-or-no answer. To work with this data, a program needs a way to store it and refer to it later. This is where variables come in.\n\nA variable is like a labeled box where you can keep a piece of information. You give the box a name, and you can look inside to see what's there or even swap it out for something else."},uuid:"1|1"},$R[279]={content:$R[280]={type:"blockquote",text:"Think of a variable named `score`. You can put the number 0 in it at the start of a game. When a player scores points, you update the value inside the `score` box."},uuid:"1|2"},$R[281]={content:$R[282]={type:"text",text:"By giving a piece of data a name, we can easily reference it throughout our code. Instead of writing the number 100 everywhere, we can just use the variable `playerHealth`. If we decide to change the starting health to 120, we only have to change it in one place."},uuid:"1|3"},$R[283]={content:$R[284]={type:"header",text:"Types of Data"},uuid:"1|4"},$R[285]={content:$R[286]={type:"text",text:"Computers need to know what *kind* of data they're storing. A number is treated differently from a word, and a word is different from a simple \"true\" or \"false\" value. These categories are called data types.\n\nLet's look at the most common ones you'll encounter."},uuid:"1|5"},$R[287]={content:$R[288]={type:"definition",term:"integer",definition:"A whole number, positive, negative, or zero.",syllables:$R[289]=["in","te","ger"],phonetic:"/ˈin(t)əjər/",partOfSpeech:"noun",exampleUsage:"Use an integer to store the number of items in a shopping cart."},uuid:"1|6"},$R[290]={content:$R[291]={type:"text",text:"Integers are for counting things that can't be split into fractions, like the number of lives in a game or the year you were born."},uuid:"1|7"},$R[292]={content:$R[293]={type:"definition",term:"float",definition:"A number that contains a decimal point.",syllables:$R[294]=["float"],phonetic:"/flōt/",partOfSpeech:"noun",exampleUsage:"A product's price, like 💲9.99, would be stored as a float."},uuid:"1|8"},$R[295]={content:$R[296]={type:"text",text:"Floats, or floating-point numbers, are used for measurements that require precision, such as distances, temperatures, or financial calculations."},uuid:"1|9"},$R[297]={content:$R[298]={type:"definition",term:"string",definition:"A sequence of characters, such as letters, numbers, and symbols, used to represent text.",syllables:$R[299]=["string"],phonetic:"/striNG/",partOfSpeech:"noun",exampleUsage:"A user's name, \"Alice\", is a string."},uuid:"1|10"},$R[300]={content:$R[301]={type:"text",text:"Strings are how programs handle text. A username, a password, a message, or an entire article are all stored as strings. They are usually enclosed in quotes, like `\"Hello, world!\"`."},uuid:"1|11"},$R[302]={content:$R[303]={type:"definition",term:"boolean",definition:"A data type that can only have one of two values: true or false.",syllables:$R[304]=["boo","le","an"],phonetic:"/ˈbo͞olēən/",partOfSpeech:"noun",exampleUsage:"A boolean variable `isLoggedIn` could track whether a user is signed in."},uuid:"1|12"},$R[305]={content:$R[306]={type:"text",text:"Booleans are the simplest data type. They are perfect for tracking states or answering yes-or-no questions. Is the light on? Is the task complete? Has the player found the key? The answer is always `true` or `false`."},uuid:"1|13"},$R[307]={content:$R[308]={type:"table",markdown:"| Data Type | Description | Example |\n|---|---|---|\n| Integer | Whole numbers | `42`, `-100` |\n| Float | Numbers with decimals | `3.14`, `-0.001` |\n| String | Text | `\"Hello world\"` |\n| Boolean | True or False | `true`, `false` |"},uuid:"1|14"},$R[309]={content:$R[310]={type:"header",text:"Using Variables in Code"},uuid:"1|15"},$R[311]={content:$R[312]={type:"text",text:"Using a variable is a two-step process. First, you create the box, which is called **declaration**. Then, you put something in it, which is called **initialization** or **assignment**.\n\nLet's see what this looks like in pseudocode, a simplified way of writing out programming logic."},uuid:"1|16"},$R[313]={content:$R[314]={type:"code",markdown:"```\n// 1. Declaration: Create a variable named 'score'\n// that will hold an integer.\nDECLARE score AS INTEGER\n\n// 2. Initialization: Give the 'score' variable\n// its first value.\nSET score = 0\n\n// We can do both at the same time.\nDECLARE username AS STRING = \"Guest\"\n\n// We can also change the value later.\nSET score = 10\n```"},uuid:"1|17"},$R[315]={content:$R[316]={type:"text",text:"Once a variable is declared with a specific data type, most programming languages will only let you store data of that type in it. You can't put a string like `\"hello\"` into a variable that was declared to hold an integer.\n\nThis strictness helps prevent errors. If you're trying to do math with a variable, the language knows it will definitely contain a number, not a username."},uuid:"1|18"},$R[317]={content:$R[318]={type:"header",text:"Changing Types"},uuid:"1|19"},$R[319]={content:$R[320]={type:"text",text:"What if you have data in one format but need it in another? For example, you might have the number `5` stored as a string, `\"5\"`, but you need to add it to another number. You can't do math on text.\n\nThis is where type conversion, or **casting**, comes in. It's the process of converting a value from one data type to another."},uuid:"1|20"},$R[321]={content:$R[322]={type:"blockquote",text:"Imagine you have a variable `priceString` that holds the text `\"19.99\"`. To use it in a calculation, you would cast it to a float."},uuid:"1|21"},$R[323]={content:$R[324]={type:"code",markdown:"```\nDECLARE priceString AS STRING = \"19.99\"\nDECLARE taxRate AS FLOAT = 0.07\n\n// This would cause an error because you can't\n// multiply a string and a float.\n// SET total = priceString * taxRate\n\n// First, cast the string to a float.\nDECLARE priceFloat AS FLOAT = CAST(priceString AS FLOAT)\n\n// Now the math works perfectly.\nSET total = priceFloat + (priceFloat * taxRate)\n```"},uuid:"1|22"},$R[325]={content:$R[326]={type:"text",text:"You can convert in other directions, too. You could turn the final total, a float, into a string to display it in a message to the user: `\"Your total is \\$21.39\"`.\n\nCasting must be done carefully. Converting the string `\"apple\"` to an integer doesn't make sense and would cause an error in your program. You can only convert values that have a logical equivalent in the new type."},uuid:"1|23"},$R[327]={content:$R[328]={type:"text",text:"Time to check your understanding of these core concepts."},uuid:"1|24"},$R[329]={content:$R[330]={type:"quiz",questions:$R[331]=[$R[332]={text:"In programming, what is the primary purpose of a variable?",options:$R[333]=[$R[334]={text:"A labeled container for storing and referring to data.",followup:"Correct! Variables act like named boxes to hold information that a program can use and change.",isRightAnswer:!0},$R[335]={text:"A command that tells the computer to perform a specific action.",followup:"Not quite. That's a better description of a function or a statement.",isRightAnswer:!1},$R[336]={text:"A fixed value that never changes during program execution.",followup:"This describes a constant, not a variable. Variables can have their values changed.",isRightAnswer:!1},$R[337]={text:"The process of converting one data type into another.",followup:"This process is called type casting or conversion, not a variable.",isRightAnswer:!1}]},$R[338]={text:"Which data type is most suitable for storing a user's exact bank account balance, like \\$125.57?",options:$R[339]=[$R[340]={text:"Float",followup:"That's right! Floats (or floating-point numbers) are used for numbers that have decimal points.",isRightAnswer:!0},$R[341]={text:"String",followup:"While you could store '125.57' as a string, you wouldn't be able to perform mathematical calculations with it easily. A float is the better choice.",isRightAnswer:!1},$R[342]={text:"Boolean",followup:"Booleans can only be true or false. They cannot store a numerical value like a bank balance.",isRightAnswer:!1},$R[343]={text:"Integer",followup:"Integers are for whole numbers. Since a bank balance can have cents, an integer wouldn't be precise enough.",isRightAnswer:!1}]},$R[344]={text:"The process of creating a variable is called __________, while the process of giving it its first value is called __________.",options:$R[345]=[$R[346]={text:"Declaration, Initialization",followup:"Exactly! You declare a variable to create it and initialize it to give it its first value.",isRightAnswer:!0},$R[347]={text:"Casting, Initialization",followup:"Casting is about changing a data type, not creating a variable.",isRightAnswer:!1},$R[348]={text:"Assignment, Declaration",followup:"The order is reversed. You declare the variable first, then you can assign a value to it.",isRightAnswer:!1},$R[349]={text:"Initialization, Declaration",followup:"Close, but the terms are swapped. Declaration comes before initialization.",isRightAnswer:!1}]},$R[350]={text:"What is the data type of the value `\"true\"`?",options:$R[351]=[$R[352]={text:"String",followup:"Correct. The quotation marks around `\"true\"` mean the program treats it as text, which is a string data type.",isRightAnswer:!0},$R[353]={text:"Boolean",followup:"Not quite. While the text says 'true', the quotation marks indicate it's a piece of text.",isRightAnswer:!1},$R[354]={text:"Integer",followup:"An integer is a whole number, like 1 or -50.",isRightAnswer:!1},$R[355]={text:"Float",followup:"A float is a number with a decimal point, like 3.14.",isRightAnswer:!1}]},$R[356]={text:"True or False: Type casting allows you to convert any value from one data type to another without risk of errors.",options:$R[357]=[$R[358]={text:"True",followup:"That's incorrect. You cannot logically convert a value like the string `\"apple\"` to an integer, which would cause an error.",isRightAnswer:!1},$R[359]={text:"False",followup:"Correct. Casting must be done carefully. Attempting an illogical conversion, like turning the string `\"apple\"` into a number, will result in an error.",isRightAnswer:!0}]}]},uuid:"1|25"},$R[360]={content:$R[361]={type:"text",text:"Variables and data types are the fundamental building blocks for handling information in any program you write."},uuid:"1|26"}]},$R[362]={uuid:"2",title:"Control Flow",includesKnowledgeBase:!1,hasDemonstratedMastery:!1,streaming:!1,blocks:$R[363]=[$R[364]={content:$R[365]={type:"header",text:"Making Decisions with Code"},uuid:"2|0"},$R[366]={content:$R[367]={type:"text",text:"So far, our programs have run like a straight road, executing one instruction after another without any deviation. But the real power of programming comes from making decisions. Just as you might check the weather before deciding to take an umbrella, a program can check a condition and change its behavior accordingly.\n\nThis is done with an `if` statement. It's a simple test: *if* a certain condition is true, then run a specific block of code. The conditions are usually comparisons, like checking if a variable `x` is greater than 10, or if a variable `is_logged_in` is `true`. Since we've already covered boolean data types, you'll see how they become the engine for these decisions. A condition in an `if` statement must evaluate to either `true` or `false`."},uuid:"2|1"},$R[368]={content:$R[369]={type:"code",markdown:"```python\n# Let's say we have a score from a game\nscore = 85\n\n# We check if the score is high enough to win\nif score > 80:\n print(\"Congratulations, you won!\")\n\n# This line will run regardless of the if statement\nprint(\"Game over.\")\n```"},uuid:"2|2"},$R[370]={content:$R[371]={type:"text",text:"In the example above, because `score` is 85, the condition `score > 80` is true, and the congratulatory message is printed.\n\nWhat if you want to do something when the condition is *not* true? That's where `else` comes in. It provides an alternative path for the code to follow. You can also chain multiple checks together using `else if` (often shortened to `elif` in languages like Python) to handle several different possibilities."},uuid:"2|3"},$R[372]={content:$R[373]={type:"blockquote",text:"An `if` statement runs code if a condition is true. An `else` statement provides a block of code to run if it's false. An `else if` lets you check another condition if the first one was false."},uuid:"2|4"},$R[374]={content:$R[375]={type:"code",markdown:"```python\n# Let's grade a score\nscore = 72\n\nif score >= 90:\n print(\"Grade: A\")\nelif score >= 80:\n print(\"Grade: B\")\nelif score >= 70:\n print(\"Grade: C\")\nelse:\n print(\"Grade: Needs Improvement\")\n\n# Output for a score of 72 will be \"Grade: C\"\n```"},uuid:"2|5"},$R[376]={content:$R[377]={type:"header",text:"Repeating Actions"},uuid:"2|6"},$R[378]={content:$R[379]={type:"text",text:"Decision-making is useful, but what if you need to perform the same task over and over? You wouldn't want to write the same line of code a hundred times. This is where loops come in. They allow you to repeat a block of code as long as a certain condition is met.\n\nThe first type is the `while` loop. It's the most straightforward: it will continue to run its code block *while* its condition remains true. It's like telling someone to keep stirring a pot while the soup is simmering. Once it stops simmering, they stop stirring."},uuid:"2|7"},$R[380]={content:$R[381]={type:"code",markdown:"```python\n# A simple countdown\ncount = 5\n\nwhile count > 0:\n print(count)\n count = count - 1 # This is crucial! It moves us closer to the end.\n\nprint(\"Blast off!\")\n```"},uuid:"2|8"},$R[382]={content:$R[383]={type:"blockquote",text:"A common mistake with `while` loops is creating an *infinite loop*. If the condition never becomes false (for example, if we forgot to subtract 1 from `count`), the loop would run forever."},uuid:"2|9"},$R[384]={content:$R[385]={type:"text",text:"Another common type of loop is the `for` loop. It's designed for situations where you want to repeat an action a specific number of times or iterate over a sequence of items, like a list of names. It bundles the setup, condition, and update steps into one line.\n\nA `for` loop says, \"for each item in this collection, do this...\" or \"for a count from 1 to 10, do this...\" It's more structured than a `while` loop and often safer because it's harder to accidentally create an infinite loop."},uuid:"2|10"},$R[386]={content:$R[387]={type:"code",markdown:"```python\n# This loop will run 5 times, for numbers 0 through 4\nfor i in range(5):\n print(f\"This is repetition number {i}\")\n\n# You can also loop through a list of items\nstudents = [\"Alice\", \"Bob\", \"Charlie\"]\nfor student in students:\n print(f\"Hello, {student}!\")\n```"},uuid:"2|11"},$R[388]={content:$R[389]={type:"header",text:"Advanced Control"},uuid:"2|12"},$R[390]={content:$R[391]={type:"text",text:"Just like you can put a box inside another box, you can put control structures inside each other. This is called nesting. You could have an `if` statement inside a `for` loop, or a loop inside another loop. This allows for complex logic, like processing every cell in a grid."},uuid:"2|13"},$R[392]={content:$R[393]={type:"code",markdown:"```python\n# A nested loop to show coordinates\n# The outer loop handles rows\nfor row in range(3): # Rows 0, 1, 2\n # The inner loop handles columns\n for col in range(3): # Columns 0, 1, 2\n print(f\"({row}, {col})\")\n```"},uuid:"2|14"},$R[394]={content:$R[395]={type:"text",text:"Sometimes you need to fine-tune the behavior of a loop. What if you want to exit a loop early, before its condition becomes false? For that, you can use the `break` statement. It immediately terminates the loop it's inside.\n\nImagine you are searching for a specific name in a long list. Once you find it, there's no need to keep searching. `break` lets you stop right there."},uuid:"2|15"},$R[396]={content:$R[397]={type:"code",markdown:"```python\nnumbers = [1, 5, 8, -3, 9, 2]\n\nfor num in numbers:\n if num \x3C 0:\n print(\"Found a negative number! Stopping.\")\n break # Exit the loop immediately\n print(f\"Processing {num}...\")\n```"},uuid:"2|16"},$R[398]={content:$R[399]={type:"text",text:"What if you don't want to stop the whole loop, but just want to skip the rest of the current iteration and move to the next one? The `continue` statement does exactly that.\n\nIf you were processing a list of files and wanted to ignore any that weren't text files, `continue` would let you skip the non-text files and proceed directly to the next file in the list."},uuid:"2|17"},$R[400]={content:$R[401]={type:"code",markdown:"```python\nnumbers = [1, 5, -2, 8, -4, 9]\n\nfor num in numbers:\n if num \x3C 0:\n print(\"Skipping a negative number.\")\n continue # Skip to the next iteration\n print(f\"The square of {num} is {num * num}\")\n```"},uuid:"2|18"},$R[402]={content:$R[403]={type:"text",text:"With conditionals and loops, you now have the tools to control the flow of your programs, making them dynamic and powerful. Let's review what you've learned."},uuid:"2|19"},$R[404]={content:$R[405]={type:"quiz",questions:$R[406]=[$R[407]={text:"In a conditional statement, what is the primary purpose of the `else` clause?",options:$R[408]=[$R[409]={text:"To repeat the code inside the `if` block.",followup:"Repeating code is the job of a loop, not an `else` clause.",isRightAnswer:!1},$R[410]={text:"To test a second, alternative condition.",followup:"That's the role of `else if` (or `elif`). The `else` clause doesn't test its own condition.",isRightAnswer:!1},$R[411]={text:"To provide a block of code that runs if the `if` condition is false.",followup:"Correct! The `else` statement provides a default path for the code to execute when the initial `if` condition is not met.",isRightAnswer:!0},$R[412]={text:"To end the program if the `if` condition is true.",followup:"An `else` clause is not used to terminate a program.",isRightAnswer:!1}]},$R[413]={text:"A `for` loop is generally a more suitable choice than a `while` loop when you need to iterate over a known sequence of items.",options:$R[414]=[$R[415]={text:"True",followup:"Correct. `for` loops are designed to execute a block of code for each item in a collection or for a specific number of times.",isRightAnswer:!0},$R[416]={text:"False",followup:"Incorrect. While a `while` loop can be used for this, a `for` loop is more idiomatic and less prone to errors for iterating over sequences.",isRightAnswer:!1}]},$R[417]={text:"What will be the final value of `count` after this code runs?\n```python\ncount = 1\nwhile count \x3C 10:\n count = count * 2\n```",options:$R[418]=[$R[419]={text:"8",followup:"Not quite. After the loop where `count` becomes 8, the condition `8 \x3C 10` is still true, so the loop runs one more time.",isRightAnswer:!1},$R[420]={text:"This is an infinite loop.",followup:"Incorrect. The value of `count` increases with each iteration, so it will eventually cause the condition `count \x3C 10` to become false.",isRightAnswer:!1},$R[421]={text:"16",followup:"That's right! The loop runs for values 1, 2, 4, and 8. When `count` is 8, the condition `8 \x3C 10` is true, so it multiplies by 2 to become 16. Then, `16 \x3C 10` is false, and the loop terminates.",isRightAnswer:!0},$R[422]={text:"10",followup:"Incorrect. The value 10 is never assigned to `count` because the operation is multiplication by 2.",isRightAnswer:!1}]},$R[423]={text:"In a nested loop structure (a loop inside another loop), what does a `break` statement do?",options:$R[424]=[$R[425]={text:"It skips the current iteration of the outer loop.",followup:"This describes the `continue` statement if it were in the outer loop, not the `break` statement in the inner loop.",isRightAnswer:!1},$R[426]={text:"It terminates only the innermost loop where the `break` is located.",followup:"Correct! A `break` statement only exits the loop it is immediately contained within. The outer loop will continue its execution.",isRightAnswer:!0},$R[427]={text:"It terminates both the inner and outer loops immediately.",followup:"Incorrect. The `break` statement only affects the loop it is directly inside of.",isRightAnswer:!1}]},$R[428]={text:"If you want to skip the rest of the current loop iteration and move directly to the next one, you should use the ______ statement.",options:$R[429]=[$R[430]={text:"continue",followup:"Exactly! The `continue` statement is used to end the current iteration prematurely and proceed to the next one.",isRightAnswer:!0},$R[431]={text:"stop",followup:"There is no `stop` statement in most common programming languages for this purpose.",isRightAnswer:!1},$R[432]={text:"break",followup:"The `break` statement terminates the entire loop, it doesn't just skip to the next iteration.",isRightAnswer:!1},$R[433]={text:"skip",followup:"While descriptive, `skip` is not a standard keyword for this action in programming.",isRightAnswer:!1}]}]},uuid:"2|20"},$R[434]={content:$R[435]={type:"text",text:"Mastering these concepts is fundamental to programming. They are the building blocks for creating logic that can respond to input, process data, and solve complex problems."},uuid:"2|21"}]},$R[436]={uuid:"3",title:"Functions",includesKnowledgeBase:!1,hasDemonstratedMastery:!1,streaming:!1,blocks:$R[437]=[$R[438]={content:$R[439]={type:"header",text:"Building with Reusable Blocks"},uuid:"3|0"},$R[440]={content:$R[441]={type:"text",text:"So far, you've learned how to write code that runs from top to bottom, making decisions with `if` statements and repeating tasks with loops. As programs get more complex, however, just writing one long list of instructions becomes messy and hard to manage.\n\nImagine building a house. You wouldn't create every single brick, window frame, and doorknob from scratch right on site. Instead, you use pre-made components. Programming works the same way. We build complex programs out of smaller, reusable pieces called **functions**."},uuid:"3|1"},$R[442]={content:$R[443]={type:"blockquoteWithCitation",text:"Functions are blocks of code designed to perform specific tasks.",assetId:2791455},uuid:"3|2"},$R[444]={content:$R[445]={type:"text",text:"A function is a self-contained block of code that performs a single, specific action. You can write a function once and then use it over and over again anywhere in your program. This makes your code more organized, easier to read, and simpler to debug. If something goes wrong, you can often pinpoint the problem to a single function."},uuid:"3|3"},$R[446]={content:$R[447]={type:"header",text:"Defining and Calling a Function"},uuid:"3|4"},$R[448]={content:$R[449]={type:"text",text:"Creating a function is called *defining* it. The definition gives the function a name and contains the code it will execute. Let's look at the basic structure using pseudocode, which is a simplified way of writing out programming logic."},uuid:"3|5"},$R[450]={content:$R[451]={type:"code",markdown:"```\nfunction sayHello() {\n // Code to be executed goes here\n print(\"Hello, world!\")\n}\n```"},uuid:"3|6"},$R[452]={content:$R[453]={type:"text",text:"This function is named `sayHello`. The parentheses `()` are where we can pass in data, which we'll cover next. The curly braces `{}` contain the body of the function, which is the code that runs when the function is used.\n\nDefining a function doesn't run it. To execute the code inside, you must *call* the function by writing its name followed by parentheses:"},uuid:"3|7"},$R[454]={content:$R[455]={type:"code",markdown:"```\nsayHello() // This calls the function\n\n// Output:\n// Hello, world!\n```"},uuid:"3|8"},$R[456]={content:$R[457]={type:"text",text:"You can call this function as many times as you need, and it will perform the same task each time."},uuid:"3|9"},$R[458]={content:$R[459]={type:"header",text:"Passing and Returning Data"},uuid:"3|10"},$R[460]={content:$R[461]={type:"text",text:"Functions are most powerful when they can work with data. We can pass data *into* a function using **parameters** and get data *out* using a **return value**."},uuid:"3|11"},$R[462]={content:$R[463]={type:"blockquote",text:"Parameters are special variables listed inside the function's parentheses that act as placeholders for the values you'll give it."},uuid:"3|12"},$R[464]={content:$R[465]={type:"text",text:"Let's make our greeting function more flexible by adding a parameter for a name."},uuid:"3|13"},$R[466]={content:$R[467]={type:"code",markdown:"```\nfunction greet(name) {\n print(\"Hello, \" + name + \"!\")\n}\n\ngreet(\"Alice\")\ngreet(\"Bob\")\n```"},uuid:"3|14"},$R[468]={content:$R[469]={type:"text",text:"When we call `greet(\"Alice\")`, the value `\"Alice\"` is assigned to the `name` parameter inside the function. The output will be:\n\n`Hello, Alice!`\n`Hello, Bob!`\n\nNow, what if we want a function to perform a calculation and give us the result? For that, we use the `return` keyword. This stops the function's execution and sends a value back to where it was called."},uuid:"3|15"},$R[470]={content:$R[471]={type:"code",markdown:"```\nfunction add(number1, number2) {\n let sum = number1 + number2\n return sum\n}\n\nlet result = add(5, 3)\nprint(result)\n\n// Output:\n// 8\n```"},uuid:"3|16"},$R[472]={content:$R[473]={type:"text",text:"Here, the `add` function takes two numbers as parameters, calculates their sum, and returns the result. We then store that returned value in a variable called `result` and print it."},uuid:"3|17"},$R[474]={content:$R[475]={type:"realImage",url:"https://oboe-storage.s3.amazonaws.com/dev/imagesReal/v1/course-25235/eb209bf5-8724-4e86-882c-3d37628ed9c6.jpeg",attributionUrl:"https://commons.wikimedia.org/wiki/File:Software_IDE_Process.jpg",caption:"Functions are a core part of how source code is compiled and executed into a final program."},uuid:"3|18"},$R[476]={content:$R[477]={type:"header",text:"Understanding Variable Scope"},uuid:"3|19"},$R[478]={content:$R[479]={type:"text",text:"An important concept related to functions is **scope**. A variable's scope determines where in a program it can be accessed. Variables declared inside a function are *local* to that function.\n\nThis means they only exist within the curly braces `{}` of that function. Once the function finishes running, its local variables disappear."},uuid:"3|20"},$R[480]={content:$R[481]={type:"code",markdown:"```\nfunction calculateArea(width, height) {\n let area = width * height // 'area' is a local variable\n return area\n}\n\nlet rectangleArea = calculateArea(10, 5)\nprint(rectangleArea) // This works, prints 50\n\nprint(area) // This will cause an ERROR!\n```"},uuid:"3|21"},$R[482]={content:$R[483]={type:"text",text:"In this example, the `area` variable is created inside `calculateArea`. We can use it within that function, but trying to access it from outside results in an error because it doesn't exist there. This is a good thing! It prevents different parts of your program from accidentally interfering with each other's variables.\n\nVariables declared outside of any function are called *global* variables. They can be accessed from anywhere in the program, but it's best to use them sparingly to keep your code clean and predictable."},uuid:"3|22"},$R[484]={content:$R[485]={type:"text",text:"Now that you can organize your code into functions, let's test your understanding."},uuid:"3|23"},$R[486]={content:$R[487]={type:"quiz",questions:$R[488]=[$R[489]={text:"What is a primary advantage of using functions in programming?",options:$R[490]=[$R[491]={text:"They automatically fix bugs in the code.",followup:"Functions can make debugging easier by isolating code, but they do not automatically fix bugs.",isRightAnswer:!1},$R[492]={text:"They are the only way to perform mathematical calculations.",followup:"Incorrect. You can perform calculations anywhere in your code, but functions are a good way to organize them into reusable blocks.",isRightAnswer:!1},$R[493]={text:"They make code more organized, reusable, and easier to debug.",followup:"Correct! Functions allow you to break down complex problems into smaller, manageable pieces that can be reused throughout your code.",isRightAnswer:!0},$R[494]={text:"They guarantee the program will run faster.",followup:"While optimization is possible, functions primarily offer organizational benefits, not a guaranteed speed increase. In fact, there can be a tiny performance overhead for a function call.",isRightAnswer:!1}]},$R[495]={text:"The process of creating a function is called ________ it, while the process of running its code is called ________ it.",options:$R[496]=[$R[497]={text:"scoping, looping",followup:"Scope refers to where variables are accessible, and looping is a way to repeat code, but these are not the terms for creating and running a function.",isRightAnswer:!1},$R[498]={text:"calling, defining",followup:"This is reversed. Defining is creating the function; calling is executing it.",isRightAnswer:!1},$R[499]={text:"defining, calling",followup:"That's right! You first define the function's name and its block of code, and then you call it to execute that code.",isRightAnswer:!0},$R[500]={text:"returning, parameterizing",followup:"These terms refer to actions within or related to a function, not the acts of creating and running it.",isRightAnswer:!1}]},$R[501]={text:"Data passed *into* a function is called a parameter. What is the keyword used to send a value *out* of a function?",options:$R[502]=[$R[503]={text:"output",followup:"While this word describes the concept, it is not the specific keyword used in most programming languages.",isRightAnswer:!1},$R[504]={text:"exit",followup:"`exit` usually refers to terminating the entire program, not just sending a value from a function.",isRightAnswer:!1},$R[505]={text:"send",followup:"This is a good descriptive verb, but not the correct programming keyword.",isRightAnswer:!1},$R[506]={text:"return",followup:"Correct! The `return` keyword stops the function's execution and sends a value back to where the function was called.",isRightAnswer:!0}]},$R[507]={text:"A variable declared inside a function is said to have 'local scope'. What does this mean?",options:$R[508]=[$R[509]={text:"The variable only exists and can only be accessed from within that function.",followup:"Correct! Once the function finishes running, its local variables are destroyed. This prevents conflicts between different parts of a program.",isRightAnswer:!0},$R[510]={text:"The variable can be accessed from anywhere in the program.",followup:"This describes a global variable, not a local one.",isRightAnswer:!1},$R[511]={text:"The variable's value cannot be changed after it is set.",followup:"This describes a constant, which is a different concept from scope.",isRightAnswer:!1}]}]},uuid:"3|24"},$R[512]={content:$R[513]={type:"text",text:"By breaking down complex problems into smaller, manageable functions, you can write cleaner, more efficient, and more powerful programs."},uuid:"3|25"}]},$R[514]={uuid:"4",title:"Writing Simple Programs",includesKnowledgeBase:!1,hasDemonstratedMastery:!1,streaming:!1,blocks:$R[515]=[$R[516]={content:$R[517]={type:"header",text:"Putting It All Together"},uuid:"4|0"},$R[518]={content:$R[519]={type:"text",text:"So far, we've looked at the building blocks of programming: variables, data types, control flow, and functions. Think of them as individual LEGO bricks. They're interesting on their own, but the real fun begins when you start snapping them together to build something.\n\nThat's what this final step is about. We're going to combine these concepts to write simple, working programs. This is where your understanding will solidify, turning abstract ideas into practical skills."},uuid:"4|1"},$R[520]={content:$R[521]={type:"header",text:"A Simple Guessing Game"},uuid:"4|2"},$R[522]={content:$R[523]={type:"text",text:"Let's start with a classic project: a number guessing game. The computer will think of a secret number, and our job is to guess it. The program will give us hints, telling us if our guess is too high or too low.\n\nThis simple game uses everything we've covered. We'll need a variable to store the secret number. We'll need a loop to allow for multiple guesses. And we'll use conditional statements to check if the guess is correct."},uuid:"4|3"},$R[524]={content:$R[525]={type:"code",markdown:"```\nfunction guessingGame() {\n // The computer's secret number\n const secretNumber = 7;\n let userGuess = 0;\n\n // Loop as long as the guess is wrong\n while (userGuess !== secretNumber) {\n // Get the user's input\n let input = prompt(\"Guess a number between 1 and 10:\");\n userGuess = parseInt(input); // Convert text input to a number\n\n // Use conditionals to give hints\n if (userGuess \x3C secretNumber) {\n alert(\"Too low! Try again.\");\n } else if (userGuess > secretNumber) {\n alert(\"Too high! Try again.\");\n } \n }\n\n // This code runs only after the loop ends (correct guess)\n alert(\"You got it! The number was \" + secretNumber);\n}\n\n// Run the game\nguessingGame();\n```"},uuid:"4|4"},$R[526]={content:$R[527]={type:"text",text:"Look at how the pieces work together. The `guessingGame` function bundles all our logic. The `while` loop keeps the game running, and the `if-else if` statements inside the loop provide the core game mechanic. This combination of control flow, variables, and a function creates a complete, interactive program."},uuid:"4|5"},$R[528]={content:$R[529]={type:"header",text:"Finding and Fixing Mistakes"},uuid:"4|6"},$R[530]={content:$R[531]={type:"text",text:"Writing code is one thing; getting it to work is another. Mistakes, or \"bugs,\" are a normal part of programming. The process of finding and fixing them is called debugging. No one writes perfect code on the first try, so learning to debug is a crucial skill."},uuid:"4|7"},$R[532]={content:$R[533]={type:"blockquote",text:"Your first line of defense against bugs is to read the error message. It often tells you exactly where the computer got confused."},uuid:"4|8"},$R[534]={content:$R[535]={type:"text",text:"Let's say in our guessing game, we forgot to convert the user's input from text to a number. The line `userGuess = parseInt(input);` is gone. The program would break. It would try to compare a number (`secretNumber`) with a string of text (`input`), which doesn't make sense. You might get an error or, worse, the program might just behave strangely, never ending the loop.\n\nA simple but powerful debugging technique is to print the values of your variables at different points in your code. If you're not sure what `userGuess` holds, you could add a print statement inside the loop to see its value on each pass. This helps you trace the logic and spot where things go wrong."},uuid:"4|9"},$R[536]={content:$R[537]={type:"realImage",url:"https://oboe-storage.s3.amazonaws.com/dev/imagesReal/v1/3c24c728-20a4-4b3b-b08a-868c3c9c0181.jpeg",attributionUrl:"https://www.pexels.com/photo/close-up-of-computer-screen-with-code-and-menu-options-34804017/",caption:"Modern code editors often include AI-powered tools that can help find and suggest fixes for problems in your code."},uuid:"4|10"},$R[538]={content:$R[539]={type:"header",text:"Writing Clean Code"},uuid:"4|11"},$R[540]={content:$R[541]={type:"text",text:"Code has two audiences: the computer and other humans (including your future self). The computer doesn't care if your code is messy, as long as the syntax is correct. But humans need code to be readable to understand, maintain, and improve it.\n\nWriting clean, readable code is a sign of a good programmer. Here are a few best practices:"},uuid:"4|12"},$R[542]={content:$R[543]={type:"table",markdown:"| Practice | Description |\n|---|---|\n| **Meaningful Names** | Use descriptive names for variables and functions. `userGuess` is better than `x`. `calculateTotal` is better than `ct`. |\n| **Comments** | Add comments to explain the *why* behind your code, not the *what*. Explain complex logic or the purpose of a function. |\n| **Consistent Formatting** | Use consistent indentation and spacing. It makes the code's structure visually clear and easy to follow. |\n| **Small Functions** | Keep your functions small and focused on a single task. A function that does one thing well is easier to understand, test, and reuse. |"},uuid:"4|13"},$R[544]={content:$R[545]={type:"text",text:"Think of it like writing a recipe. A well-written recipe has clear ingredient names, step-by-step instructions, and helpful notes. It's easy to follow. Clean code has the same qualities."},uuid:"4|14"},$R[546]={content:$R[547]={type:"code",markdown:"```\n/* \n This function calculates the final price of an item,\n including sales tax. It ensures the price is not negative.\n \n Parameters:\n basePrice - The price of the item before tax.\n taxRate - The sales tax rate as a decimal (e.g., 0.05 for 5%).\n\n Returns:\n The final price, or 0 if the basePrice is invalid.\n*/\nfunction calculateFinalPrice(basePrice, taxRate) {\n // Validate input to prevent errors\n if (basePrice \x3C 0) {\n return 0;\n }\n\n const salesTax = basePrice * taxRate;\n const finalPrice = basePrice + salesTax;\n\n return finalPrice;\n}\n```"},uuid:"4|15"},$R[548]={content:$R[549]={type:"text",text:"This commented function is much easier to understand at a glance than one with vague variable names and no explanation."},uuid:"4|16"},$R[550]={content:$R[551]={type:"quiz",questions:$R[552]=[$R[553]={text:"In the context of programming, what is the primary benefit of combining fundamental concepts like variables, loops, and conditional statements?",options:$R[554]=[$R[555]={text:"To make the code more complex and challenging to write.",followup:"The goal is to solve problems effectively, not to create complexity for its own sake.",isRightAnswer:!1},$R[556]={text:"To test the limits of the computer's processor.",followup:"While complex programs can be processor-intensive, this is not the primary goal of combining basic concepts.",isRightAnswer:!1},$R[557]={text:"To create complete, functional programs that can solve problems or perform tasks.",followup:"Correct! Individual concepts are like building blocks; combining them allows you to build something useful and interactive.",isRightAnswer:!0},$R[558]={text:"To ensure the code runs as slowly as possible for debugging.",followup:"Slow execution is generally undesirable. Efficiency is a key goal in programming.",isRightAnswer:!1}]},$R[559]={text:"In a number guessing game, the program compares the user's text input directly to a secret number. The game behaves unexpectedly, never correctly identifying a right guess. What is the most likely cause of this bug?",options:$R[560]=[$R[561]={text:"The loop is running too many times, causing a timeout.",followup:"This describes an infinite loop or performance issue, but the core problem here is why the condition to exit the loop is never met.",isRightAnswer:!1},$R[562]={text:"The secret number is too large for the computer to handle.",followup:"This is unlikely unless the number is extraordinarily large. A more common issue is a data type mismatch.",isRightAnswer:!1},$R[563]={text:"The program is comparing a string (text input) to a number, which leads to incorrect evaluation.",followup:"Exactly. User input is often read as text, and it must be converted to a number before it can be numerically compared to the secret number.",isRightAnswer:!0},$R[564]={text:"The user is simply guessing the wrong numbers.",followup:"While possible, the description implies that even the correct guess doesn't work, indicating a bug in the program's logic.",isRightAnswer:!1}]},$R[565]={text:"What is the most suitable control flow structure for a number guessing game where the user can guess an unknown number of times until they get it right?",options:$R[566]=[$R[567]={text:"A `for` loop.",followup:"A `for` loop is best when you know the exact number of iterations, like giving the user only 10 guesses. A `while` loop is more flexible for an unknown number of tries.",isRightAnswer:!1},$R[568]={text:"An `if-else` statement.",followup:"An `if-else` statement is needed *inside* the loop to check each guess, but it doesn't handle repeated guesses on its own.",isRightAnswer:!1},$R[569]={text:"A function call.",followup:"The entire game might be wrapped in a function, but the repeated guessing action is managed by a loop.",isRightAnswer:!1},$R[570]={text:"A `while` loop.",followup:"Correct. A `while` loop is perfect for repeating a block of code as long as a condition (like `guess !== secretNumber`) is true.",isRightAnswer:!0}]},$R[571]={text:"A simple but powerful debugging technique is to add print statements to your code to display the values of variables at different points of execution.",options:$R[572]=[$R[573]={text:"True",followup:"Correct. This technique, often called 'trace debugging,' helps you follow the logic of your program and see exactly what values your variables hold as the code runs.",isRightAnswer:!0},$R[574]={text:"False",followup:"Incorrect. Printing variable values is one of the most fundamental and effective ways to understand what your code is doing and find where it goes wrong.",isRightAnswer:!1}]},$R[575]={text:"Which of the following is a key practice for writing clean, readable code that is easy for other developers to understand?",options:$R[576]=[$R[577]={text:"Using single-letter variable names like `x` and `y` to make the code shorter.",followup:"This makes code harder to understand. Descriptive names like `userGuess` or `maxAttempts` are much clearer.",isRightAnswer:!1},$R[578]={text:"Writing the entire program on a single line.",followup:"While technically possible in some languages, this makes code extremely difficult to read, debug, and maintain.",isRightAnswer:!1},$R[579]={text:"Removing all comments to make the file size smaller.",followup:"Comments are crucial for explaining the 'why' behind complex code and improving readability for humans.",isRightAnswer:!1},$R[580]={text:"Using descriptive names for variables and functions.",followup:"Correct. Naming `secretNumber` is much clearer than naming it `n`. Good names make code self-documenting.",isRightAnswer:!0}]}]},uuid:"4|17"},$R[581]={content:$R[582]={type:"text",text:"You've now seen all the fundamental pieces of programming and how they fit together. The journey from here involves practice—building more complex projects, learning new tools, and continuously refining your skills."},uuid:"4|18"}]}],version:3,formats:$R[583]=["deepdive"],isBookmarked:!1}},ssr:!0},$R[584]={i:"�_web�learn�$searchSlug��learn�introduction-to-programming-315ui8�",u:1784661835128,s:"success",l:$R[585]={courseData:$R[21]},ssr:!0}],lastMatchId:"�_web�learn�$searchSlug��learn�introduction-to-programming-315ui8�",dehydratedData:$R[586]={queryStream:$R[587]=($R[588]=(e) => new ReadableStream({ start: (r) => { e.on({ next: (a) => { try { r.enqueue(a); } catch (t) {} }, throw: (a) => { r.error(a); }, return: () => { try { r.close(); } catch (a) {} } }); } }))($R[589]=($R[590]=() => { let e = [], r = [], t = !0, n = !1, a = 0, s = (l, g, S) => { for (S = 0; S < a; S++) r[S] && r[S][g](l); }, i = (l, g, S, d) => { for (g = 0, S = e.length; g < S; g++) d = e[g], !t && g === S - 1 ? l[n ? "return" : "throw"](d) : l.next(d); }, u = (l, g) => (t && (g = a++, r[g] = l), i(l), () => { t && (r[g] = r[a], r[a--] = void 0); }); return { __SEROVAL_STREAM__: !0, on: (l) => u(l), next: (l) => { t && (e.push(l), s(l, "next")); }, throw: (l) => { t && (e.push(l), s(l, "throw"), t = !1, n = !1, r.length = 0); }, return: (l) => { t && (e.push(l), s(l, "return"), t = !1, n = !0, r.length = 0); } }; })()),dehydratedQueryClient:$R[591]={mutations:$R[592]=[],queries:$R[593]=[$R[594]={dehydratedAt:1784661835129,state:$R[595]={data:null,dataUpdateCount:1,dataUpdatedAt:1784661834945,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:"success",fetchStatus:"idle"},queryKey:$R[596]=["currentUser"],queryHash:"[\"currentUser\"]"},$R[597]={dehydratedAt:1784661835129,state:$R[598]={data:null,dataUpdateCount:1,dataUpdatedAt:1784661834945,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:"success",fetchStatus:"idle"},queryKey:$R[599]=["impersonationState"],queryHash:"[\"impersonationState\"]"},$R[600]={dehydratedAt:1784661835129,state:$R[601]={data:$R[21],dataUpdateCount:1,dataUpdatedAt:1784661835128,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:"success",fetchStatus:"idle"},queryKey:$R[602]=["sequence","315ui8"],queryHash:"[\"sequence\",\"315ui8\"]"}]}}})($R["tsr"]);document.currentScript.remove()