XFIR>+39VMpami4:*YEKt muhTmuhTmuhTmuhT> muhT,muhT(muhT:DTIB;muhT#$muhT8%DTIB9%muhT?&muhTG7muhTF7DEMXBVmuhTEVDEMX+*SACfniCFCRD XtcLSREVSREVSREVK lccSREVSREVM lccFCRDTT::V<ˢ fniClLNAe0C:\Documents and Settings\kyle.gonyer.NA\Desktop*SAC@V7&%$ tSAC +>>>a--On mouseup the radio button will send a text result that you specify below to a hidden field called "multi choice answer". Also clears the "Field For Checked Answer Result" in case you got it wrong on your try. The "Field For Checked Answer Result" is a field that would say something like "correct" or "incorrect" property radiotextanswer -------------------------------------------------- on mouseUp me set member("multi choice answer").text=radiotextanswer member("Field For Checked Answer Result").text="" end --------------------------------------------------- on getpropertydescriptionlist PDL=[:] PDL[#radiotextanswer]=[#comment: "What do you want this radio button's text result to be when selected? It will go to a hidden text field", #format: #string, #default: "yes"] return PDL endSend Radio's Anser[#radiotextanswer: [#comment: "What do you want this radio button's text result to be when selected? It will go to a hidden text field", #format: #string, #default: "yes"]]~<<,> C?. .Sends radios anser to a hidden field called "multi choice answer"itSAC #===dxxxxxx--Attached this behavior to a submit or check answers button to judge whether a Dropdown or multi choice answer is correct by looking at its hidden field results property FirstMultiChoiceResultsToBeJudged property AnswerOfFirstMultiChoice -------------------------------------------------- on mouseup if member(FirstMultiChoiceResultsToBeJudged).text = AnswerOfFirstMultiChoice and member("multi choice answer").text = "yes" then member("Field For Checked Answer Result").text = "Correct!" else member("Field For Checked Answer Result").text = "Try Again" --A 2nd multichoice was also added in this example to make the results correct end if end --------------------------------------------------- on getpropertydescriptionlist PDL=[:] PDL[#FirstMultiChoiceResultsToBeJudged]=[#comment: "Name of text field that holds the first multichoice results?", #format: #graphic, #default: "Dropdown Menu Results"] PDL[#AnswerOfFirstMultiChoice]=[#comment: "Answer that needs to be in this field to be correct:", #format: #string, #default: "C"] return PDL endCheck Multi Choice Answer[#FirstMultiChoiceResultsToBeJudged: [#comment: "Name of text field that holds the first multichoice results?", #format: #graphic, #default: "Dropdown Menu Results"], #AnswerofFirstMultiChoice: [#comment: "Answer that needs to be in this field to be correct:", #format: #string, #default: "C"]]y,?#?. .tSAC  Faaaauuuuuuon startmovie member("Field For Checked Answer Result").text="" end Clear Text Fields On Start~FF,?#-@{. .ptSAC          --This Submitter script is a list of handlers that return the results of a text field when Director's built-in dropdown menu behavior is added to it. In this example the list consist of A-D. The choice picked is sent to a hidden off-screen text field that can get queried for emailing, writing to a text file or whatever. ---IMPORTANT-THIS LIST MUST BE SET TO BE A MOVIE SCRIPT TO WORK-- --To call these handlers the parameter dialogue box in director's dropdown behavior needs to be set to "execute" as the purpose of the list and.... --"current contents" as contents of list. --You'll notice that items in the list must have an associate handler, so if the first item is "a" then you need an "on a" do this "end" handler. See below, you'll get the idea. --The member of my the hidden text field for the results is called "Dropdown Menu Results" --Things might get crazy if you have alot of hidden text fields. If you do have many dropdowns, you might want to color them and name the hidden result fields the first letter of the color for simplicity. You might find it helpful to colorize the fields (if your design permits) and use the first letter of the color as the name. So, if you use a blue colored dropdown field, think about using the name "b" for the name of the results field for simplicity. I also like to color code the sprite in the score as well. Kind of makes things easier to manage if you have alot of drop downs. --One last thing I like to do with my dropdown menus is add a grey square and black down arrow to the end so it actually looks like a dropdown menu. As you know, the dropdown behavior makes it work like a menu, but the user might not know to click it unless their is a down arrow. To top it off I have the first item be a "select below" which returns "This item was left blank" if they select nothing. -------------------------------------------------------- --here are the handlers on Select Below set member("Dropdown Menu Results").text="This item was left blank" end on A set member("Dropdown Menu Results").text="A" end on B set member("Dropdown Menu Results").text="B" end on C set member("Dropdown Menu Results").text="C" end on D set member("Dropdown Menu Results").text="D" end Dropdown Menu Submitter~,> @{. .tSAC  #ffffzzzzzz--This behavior has a 2-part explanation --First, it is assuming you are covering up the initionally selected radio button by moving a cover-up graffic over the black dot that represents a selected radio button --The reason for this is because Director says you have to have at least 1 of the buttons in group inintionally selected. More than likely, there are times you do not want this. What I do is put a small colored circle that is the same color as the background over the black area of the initially selected radio button --The code in this behavior moves that circle off-screen so that only on initial click it looks selected (assumes the circle is sprite 62) on mouseup sprite(62).loc=point(-63,63)--to move the radio coverup graphic off the radio button to show it is no longer clear end BFix For Removing Coverup Image On Initially Selected Radio Button 2,@lCAC. .tSAC IIII]]]]]]qqqqqquy}--clears the selected radio button results field on mousedown --Use with the behavior "Dropdown Menu Selection Changes Radio Choices" so that a previous result gets cleared out of the hidden text field on mousedown member("multi choice answer").text="" member("b").text="" end ,Clear Text Fields On Selection Of A DropMenugf,?#-AD. .CtSAC$](55EEEEEIMQarrow for dropdown menux ѭlVector Shape,> AE. . vectorShapeJFLSHJ+;WBB@PB""0 vertex ( tSACNy&&&&&&&&6CCSSSSSW[_%background of arrow for dropdown menux ѭlVector Shape%%> AF. . vectorShapefFLSHf%%JJBB?B vertex ' '  lccpamFknujAFCRDTT::V<ˢ*SAC@  V7&%$ SREV ASREV AknujAmuhT +++92++92+++ 2######V++9+9##92]9]++@+992++VV$+9+l+9+ l++9+ ++@+++9+V+++22+V++++++++++++++++++VV+++++VV++++++++++++V+++++++++V+++++++++++++++++muhT  +++++++++ ++++2+++V+]99Ol+++++VV$+++ ++l+++l++++++++ ++++ +++++V++++ +V+ ++++++++++++++++#++##+++#+++##++ +##+##++++###+++++##++++#++++++++++++++muhT+++VV++VVVVVVVVVV++VVVVVVVVV22V++VV++++++++++ + +++++++"]99Ol++++""VV$+""F"F"+"@"""F"+++"++ ++"++++V++ ++V+++++++++++++++++muhT:++++++++++++++++++++++++++++++++++++++++++#++++++ ++++#+++#++++++#++++++#++++#+++++++++++++++++++++++++++++++*YEKt muhTmuhTmuhTmuhT! muhT> muhT muhT,muhT(muhT'muhT:DTIB;muhT#$muhT8%DTIB9%muhT?&muhTG7muhTF7DEMXBVmuhTEVDEMXP*SACfniCFCRD XtcLSREVSREVSREVM lccfniClLNAe0C:\Documents and Settings\kyle.gonyer.NA\DesktoptSAC +>>>a--On mouseup the radio button will send a text result that you specify below to a hidden field called "multi choice answer". Also clears the "Field For Checked Answer Result" in case you got it wrong on your try. The "Field For Checked Answer Result" is a field that would say something like "correct" or "incorrect" property radiotextanswer -------------------------------------------------- on mouseUp me set member("multi choice answer").text=radiotextanswer member("Field For Checked Answer Result").text="" end --------------------------------------------------- on getpropertydescriptionlist PDL=[:] PDL[#radiotextanswer]=[#comment: "What do you want this radio button's text result to be when selected? It will go to a hidden text field", #format: #string, #default: "yes"] return PDL endSend Radio's Anser[#radiotextanswer: [#comment: "What do you want this radio button's text result to be when selected? It will go to a hidden text field", #format: #string, #default: "yes"]]~<<,> C?. .Sends radios anser to a hidden field called "multi choice answer"tSAC #===dxxxxxx--Attached this behavior to a submit or check answers button to judge whether a Dropdown or multi choice answer is correct by looking at its hidden field results property FirstMultiChoiceResultsToBeJudged property AnswerOfFirstMultiChoice -------------------------------------------------- on mouseup if member(FirstMultiChoiceResultsToBeJudged).text = AnswerOfFirstMultiChoice and member("multi choice answer").text = "yes" then member("Field For Checked Answer Result").text = "Correct!" else member("Field For Checked Answer Result").text = "Try Again" --A 2nd multichoice was also added in this example to make the results correct end if end --------------------------------------------------- on getpropertydescriptionlist PDL=[:] PDL[#FirstMultiChoiceResultsToBeJudged]=[#comment: "Name of text field that holds the first multichoice results?", #format: #graphic, #default: "Dropdown Menu Results"] PDL[#AnswerOfFirstMultiChoice]=[#comment: "Answer that needs to be in this field to be correct:", #format: #string, #default: "C"] return PDL endCheck Multi Choice Answer[#FirstMultiChoiceResultsToBeJudged: [#comment: "Name of text field that holds the first multichoice results?", #format: #graphic, #default: "Dropdown Menu Results"], #AnswerofFirstMultiChoice: [#comment: "Answer that needs to be in this field to be correct:", #format: #string, #default: "C"]]y,?#?. .tSAC  Faaaauuuuuuon startmovie member("Field For Checked Answer Result").text="" end Clear Text Fields On Start~FF,?#-@{. .etSAC          --This Submitter script is a list of handlers that return the results of a text field when Director's built-in dropdown menu behavior is added to it. In this example the list consist of A-D. The choice picked is sent to a hidden off-screen text field that can get queried for emailing, writing to a text file or whatever. ---IMPORTANT-THIS LIST MUST BE SET TO BE A MOVIE SCRIPT TO WORK-- --To call these handlers the parameter dialogue box in director's dropdown behavior needs to be set to "execute" as the purpose of the list and.... --"current contents" as contents of list. --You'll notice that items in the list must have an associate handler, so if the first item is "a" then you need an "on a" do this "end" handler. See below, you'll get the idea. --The member of my the hidden text field for the results is called "Dropdown Menu Results" --Things might get crazy if you have alot of hidden text fields. If you do have many dropdowns, you might want to color them and name the hidden result fields the first letter of the color for simplicity. You might find it helpful to colorize the fields (if your design permits) and use the first letter of the color as the name. So, if you use a blue colored dropdown field, think about using the name "b" for the name of the results field for simplicity. I also like to color code the sprite in the score as well. Kind of makes things easier to manage if you have alot of drop downs. --One last thing I like to do with my dropdown menus is add a grey square and black down arrow to the end so it actually looks like a dropdown menu. As you know, the dropdown behavior makes it work like a menu, but the user might not know to click it unless their is a down arrow. To top it off I have the first item be a "select below" which returns "This item was left blank" if they select nothing. -------------------------------------------------------- --here are the handlers on Select Below set member("Dropdown Menu Results").text="This item was left blank" end on A set member("Dropdown Menu Results").text="A" end on B set member("Dropdown Menu Results").text="B" end on C set member("Dropdown Menu Results").text="C" end on D set member("Dropdown Menu Results").text="D" end Dropdown Menu Submitter~,> @{. .tSAC   = = = = Q Q Q Q Q Q e e e e e e i m q--This Submitter script is a Modification of my original Dropdown menu Submiter behavior except it also changes the radio buttons that get displayed as the next choice via what is chosen from the menu. --Basically it adds to commands that are to happen when a menu item is chosen --For every pair of radio buttons you add, you must add 6 lines of extra code to each handler (see below) these switching of radio button locations are required to alternate which group of buttons are on the screen based on your selection. The other 2 lines of code are changing the radios description based on selection --As before the script list the handlers that return the results of a text field with the dropdown behavior added to it. In this example the list consist of a-g. The choice picked is sent to a hidden off-screen text field that can get used for emailing, writing to a text file or whatever. ---IMPORTANT-THIS LIST MUST BE SET TO BE A MOVIE SCRIPT TO WORK-- --To call these handlers the dropdown behavior needs to be set to "execute" as the purpose of the list and "current contents" as contents of list. You'll notice that items in the list must have an associate handler, so if the first item is "a" then you need an "on a" do this "end" handler. See below, you'll get the idea. --If you are wondering why I called the list member for the results "b", it is because it was a blue colored field and it was a simple way to give it a short name. You can name your dropdown list anything though. --I find it helpful to color code the fields and use the first letter of the color as their name; as you can see with this "blue" dropdown field. I also color code it in the score as well. Kind of makes things easier to manage; if your design permits it of course --One last thing I like to do with my dropdown menus is add a grey square and black down arrow to the end so it actually looks like a dropdown menu. As you know, the dropdown behavior makes it work like a menu, but the user might not know to click it unless their is a down arrow. To top it off I have the first item be a "select below" which returns "This item was left blank" if they select nothing. ------------------------------------------------------- --here are the handlers on a set member("b").text="a" sprite(1).loc=point(8,204) --sprite 1 is the 2nd dropdown sprite(2).loc=point(8,-204) SPRITE(1).BLEND=100 end on b set member("b").text="b" sprite(2).loc=point(8,204) --sprite 2 is the alternate 2nd drop sprite(1).loc=point(8,-204) sprite(3).loc=point(8,-204) sprite(2).blend=100 end on SelectBelow set member("b").text="This items was left blank" end on c set member("x").text="c" end on d set member("x").text="d" end on e set member("x").text="e" end on f set member("x").text="f" end -Dropdown Menu Changes Choices Of Another Menus ,> @{. .ntSAC   L L L L ` ` ` ` ` ` t t t t t t x | --This Submitter script is a Modification of my original Dropdown menu Submiter behavior except it also changes the radio buttons that get displayed as the next choice via what is chosen from the menu. --Basically it adds to commands that are to happen when a menu item is chosen --For every pair of radio buttons you add, you must add 6 lines of extra code to each handler (see below) these switching of radio button locations are required to alternate which group of buttons are on the screen based on your selection. The other 2 lines of code are changing the radios description based on selection --As before the script list the handlers that return the results of a text field with the dropdown behavior added to it. In this example the list consist of a-g. The choice picked is sent to a hidden off-screen text field that can get used for emailing, writing to a text file or whatever. ---IMPORTANT-THIS LIST MUST BE SET TO BE A MOVIE SCRIPT TO WORK-- --To call these handlers the dropdown behavior needs to be set to "execute" as the purpose of the list and "current contents" as contents of list. You'll notice that items in the list must have an associate handler, so if the first item is "a" then you need an "on a" do this "end" handler. See below, you'll get the idea. --If you are wondering why I called the list member for the results "b", it is because it was a blue colored field and it was a simple way to give it a short name. You can name your dropdown list anything though. --I find it helpful to color code the fields and use the first letter of the color as their name; as you can see with this "blue" dropdown field. I also color code it in the score as well. Kind of makes things easier to manage; if your design permits it of course --One last thing I like to do with my dropdown menus is add a grey square and black down arrow to the end so it actually looks like a dropdown menu. As you know, the dropdown behavior makes it work like a menu, but the user might not know to click it unless their is a down arrow. To top it off I have the first item be a "select below" which returns "This item was left blank" if they select nothing. ------------------------------------------------------- --here are the handlers on a set member("b").text="a" sprite(1).loc=point(12,92) sprite(2).loc=point(12,112) sprite(60).loc=point(-30,10) sprite(61).loc=point(-30,30) member("1st radio choice").text="a1" member("2nd radio choice").text="a2" end on b set member("b").text="b" sprite(60).loc=point(12,92) sprite(61).loc=point(12,112) sprite(1).loc=point(-30,10) sprite(2).loc=point(-30,30) member("1st radio choice").text="b1" member("2nd radio choice").text="b2" end on SelectBelow set member("b").text="This items was left blank" end on d set member("b").text="d" end -Dropdown Menu Selection Changes Radio Choices> ,> @{w. .tSAC   5 5 5######'+/--This behavior takes the selection from a radio button and allows you to put the RadioButton Name in a hidden (off-stage) field. --The action of having a "Radio Choice Changes Contents Of A Dropdown Menu" is not done by global list or varibles, but instead, by way of a graphical nature where all elements are on the stage (or hidden off the stage) so you can make quick non-code changes --To accomplish this, the behavior lets you choose the Dropdown Menu that stays or is visible upon radio selection. --It also hides the other Dropdown menus that are not to be visible by moving them off-stage --this behavior allows for 4 Dropdown menus to be eliminated and 1 to remain as the chosen one to be used/selections made from --You will want to put all dropdown menus at the same location with the blank one being on top to start, then use the radio selections to flip flop the ones you want to see/make selections from --To make the fields dropdown menus, you will need director's native Dropdown List behavior --To make them submit their choices to a hidden field, you will need my Dropdown Menu Submiter behavior property RadioButtonName property FirstEliminatedField property SecEliminatedField property ThirdEliminatedField property FourthEliminatedField property FieldThatStays property FieldThatStaysLOC on mouseup member("RadioAnswerHiddenField").text = RadioButtonName sprite(FirstEliminatedField).loc=point(1,500) sprite(SecEliminatedField).loc=point(1,550) sprite(ThirdEliminatedField).loc=point(1,600) sprite(FourthEliminatedField).loc=point(1,650) sprite(FieldThatStays).loc=FieldThatStaysLOC end on getpropertydescriptionlist PDL=[:] addProp PDL, #RadioButtonName,[#comment: "Type in your radio button's name", #format:#String, #default:"Situation"] addProp PDL, #FieldThatStays, [#comment: "Choose the sprite # of the field that stays upon radio selection", #format:#integer, #default:1] addProp PDL, #FieldThatStaysLOC, [#comment: "type in the loc of where the field that stays needs to be (its X,Y)", #format:#string, #default:point(8,204)] addProp PDL, #FirstEliminatedField, [#comment: "Choose the sprite # of the 1st dropdown field to be elimited upon selection", #format:#integer, #default:2] addProp PDL, #SecEliminatedField, [#comment: "Choose the sprite # of the 2nd dropdown field to be elimited upon selection", #format:#integer, #default:3] addProp PDL, #ThirdEliminatedField, [#comment: "Choose the sprite # of the 3rd dropdown field to be elimited upon selection", #format:#integer, #default:4] addProp PDL, #FourthEliminatedField, [#comment: "Choose the sprite # of the 4th dropdown field to be elimited upon selection", #format:#integer, #default:5] return PDL --returns your choices to the handler end0Radio Choice Changes Contents Of A Dropdown Menu[#RadioButtonName: [#comment: "Type in your radio button's name", #format: #string, #default: "Situation"], #FieldThatStays: [#comment: "Choose the sprite # of the field that stays upon radio selection", #format: #integer, #default: 1], #FieldThatStaysLOC: [#comment: "type in the loc of where the field that stays needs to be (its X,Y)", #format: #string, #default: point(8, 204)], #FirstEliminatedField: [#comment: "Choose the sprite # of the 1st dropdown field to be elimited upon selection", #format: #integer, #default: 2], #SecEliminatedField: [#comment: "Choose the sprite # of the 2nd dropdown field to be elimited upon selection", #format: #integer, #default: 3], #ThirdEliminatedField: [#comment: "Choose the sprite # of the 3rd dropdown field to be elimited upon selection", #format: #integer, #default: 4], #FourthEliminatedField: [#comment: "Choose the sprite # of the 4th dropdown field to be elimited upon selection", #format: #integer, #default: 5]]Kb99,@j @{w. .otSAC  bbbbvvvvvv--This behavior has a 2-part explanation --First, it is assuming you are covering up the initionally selected radio button by moving a cover-up graffic over the black dot that represents a selected radio button --The reason for this is because Director says you have to have at least 1 of the buttons in group inintionally selected. More than likely, there are times you do not want this. What I do is put a small colored circle that is the same color as the background over the black area of the initially selected radio button --The code in this behavior moves that circle off-screen so that only on initial click it looks selected (assumes circle is sprite 62) on mouseup sprite(62).loc=point(-63,63)--to move the radio coverup graphic off the radio button to show it is no longer clear end BFix For Removing Coverup Image On Initially Selected Radio Button 2,@lCAۜ. .tSAC checked?%@{. .P4  DEMXhh\FWS\`6`$ C0\l7-$J""0A=s>,=9 @knujintegerSREV AmuhT +++++VV++VVVVVVVVVV++VVVVVVVVV22V++VV++ +++++++rTrrTrrTrT+++ +++V++"+++׬V+ +##"+ +#"#"+++++++++++++ ++++++++++++++++++++++++muhT +++++++++++++++++++++++ VV+V++V+++++++ +++++"++++++++2223F:9+++++""F"F:"+++++#++++++++++++++++++++V+++++++++++++++++tSAC IIII]]]]]]qqqqqquy}--clears the selected radio button results field on mousedown --Use with the behavior "Dropdown Menu Selection Changes Radio Choices" so that a previous result gets cleared out of the hidden text field on mousedown member("multi choice answer").text="" member("b").text="" end ,Clear Text Fields On Selection Of A DropMenugf,?#-@{. . tSAC$](55EEEEEIMQarrow for dropdown menux ѭlVector Shape,> @{). . vectorShapeJFLSHJ+;WBB@PB""0 vertex ( tSACC 5 z--Attached this behavior to a submit or check answers button to judge whether multiple Dropdown or multi choice answers are correct by examining their on or off state in their corrisponding global list. If both answers are correct. The word "correct" will be placed in the "Field For Checked Answer Result". --By default, the correct answers are being tracked in glist1 and glist2. If your 3rd member is incorrect, track its on/off results in a glist number other than the ones use are using for this behavior. (like glist3 if it is a 3rd member) --You could go further and add more than 2 correct answers by changing the mousup if statement below. Just remember to add additional glist to the "Multiple Global List For Member Change" behavior as it is currently set to handle only 4 swap members. --As mentioned above, remember to name the condition of your incorrect swap members in glist. So if you have a 3rd swap member that is incorrect, reference it as glist3. ---------------------------------------------- on mouseup --test your 2 correct answers. (their on/off condition is stored in glist and glist2 global glist, glist2, glist3 if glist [#myClickSwapMember]=0 and glist2 [#myClickSwapMember]=0 and glist3 [#myClickSwapMember]=1 then member("Field For Checked Answer Result").text = "Correct!" else member("Field For Checked Answer Result").text = "Try Again" end if end Check 2 Multi Choice Answers_,?#@{. .ytSAC checked?%@{. .P4  tSAC  unchecked ?%@{. .P0  tSAC1 # --On Click Member Change For Multiple Members --authored by Kyle Gonyer June 2003 --Used for on/off buttons where members must change on click and then change back on 2nd click. --The ability to use with more than one member makes this behavior suited for checkboxes in Multiple Choice Quizes where more than 1 answer is needed for it to be correct. --Important!, You MUST use this behavior with its accompanying movie behavior "Multiple Global List For Member Change". The movie script is required to keep track of the on/off state of the clicks for 2 seperate members that are changing their sprites (such as a pair of check boxes) --attach this behavior to the 2nd sprite that you want to change its appearance (swap its member) on click. You will receive pulldown menus that allow you to type in the name of the list in the "Multiple Global List For Member Change" behavior that will be doing the tracking. The default is currently named glist2. --This behavior will work well when you want to trigger certain actions depending on if it is your first or second click such as a check box being checked or unchecked. With this behavior, the list is tracking your actions using 0's and 1's as (true or false) or in a checkboxes case: (checked and unchecked). --You can add more member change elements by adding more list to the global list behavior and changing the reference to it. For an example: if you add a 3rd list (glist3), then you would drag this behavior to the 3rd member and type in glist3 into this behaviors parameters dialogue box. --If you are new to list and our examining the global list, then the way to understand it is the item in the list after the "#" is the property and the item after the ":" is the value. In this examaple only the values are being replaced in the list. property spriteNum property myClickSwapMember property myOriginalMember global glist, glist2, glist3 property myglistreference -- the glist reference property mylistname ---------------------------------------------------- on beginSprite (me) -- get a reference to the list stored in the globals using the name -- specified in the getPropertyDescriptionList dialog myglistreference = (the globals)[mylistname] if voidP(myglistreference) then -- if we cannot find the global, then show a warning and stop the movie alert "Error locating a global variable called " & mylistname halt end if end on mousedown -- global mylistname --reference the list with these conditions using mylistname as a property that represents the the name of the list if sprite(spriteNum).member=member(myOriginalMember)then myglistreference[#myOriginalMember]=1 if sprite(spriteNum).member=member(myOriginalMember)then myglistreference[#myClickSwapMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myOriginalMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myClickSwapMember]=1 end if end if end if end if end ------------------------------------------------ on mouseup --displays a certain member depending on what the list says. The list will say if it should display the clicked or un-clicked member --global mylistname if myglistreference[#myOriginalMember]=1 then sprite(spriteNum).member = myClickSwapMember if myglistreference[#myClickSwapMember]=1 then sprite(spriteNum).member = myOriginalMember end if end if end ----------------------------------------- on getPropertyDescriptionList PDL=[:] PDL [#myClickSwapMember]= [#comment: "Display which member on click?",#format: #graphic, #default: member "Pick your member"] PDL [#myOriginalMember]= [#comment: "Display which member on click-back ?(should be your Original)",#format: #graphic, #default: member "Pick your member"] PDL [#mylistname]= [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:",#format: #symbol, #default: #glist] return PDL end %On Click Member Change For checkboxes[#myClickSwapMember: [#comment: "Display which member on click?", #format: #graphic, #default: (member -1 of castLib 1)], #myOriginalMember: [#comment: "Display which member on click-back ?(should be your Original)", #format: #graphic, #default: (member -1 of castLib 1)], #mylistname: [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:", #format: #symbol, #default: #gList]]73,>@{. .atSACm _  --Custom global list to track the condition of multiple swap members or to track the choices from multiple dropdown menus. Just add more list if needed. 1 list for every dropdown menu. This current --this current movie behavior is prepared to handle the toggling of up to 4 mutliple checkboxes. Just add more list if needed. If your in need of a global list with only 1 or 2 list, simply delete the list below that you do not want -- If this is being used to track dropdowns, set the glist ="" (the menu will fill it at run-time) -------------------------------------- on prepareMovie global glist, glist2, glist3, glist4 set glist = [#myOriginalMember:0, #myClickSwapMember:1] set glist2 =[#myOriginalMember:0, #myClickSwapMember:1] set glist3 = [#myOriginalMember:0, #myClickSwapMember:1] set glist4 =[#myOriginalMember:0, #myClickSwapMember:1] member("Field For Checked Answer Result").text="" end&Multiple Global List for Member Changes,>ؼA:. .eXtcL `  kPk<k(kjO"^\j5j4jt-rcsL\\\\$'DCWDbDCWDb multi choice answerbrcsL\\\\A>CWA? A?CWbrcsL\ \fld021)+456(!$FHH H'oR '1 5YXXZ @ Z _*J+Cg,P)J)CW-DJ+ BW.BW/ J0CWaJ1CW J)E1ABg J0CWaJ1CW J)E2Bg J0CWaJ2CW J)E1Bg J0CWaJ2CW J)E2ABg J)E1Cg,A J0CWJ2bJ)E2Cg,A J0CWJ1bCRLE2EDEEE DCWCBg LE1EDEEE DCWCBg LE+EDEE3E E4CBg LBW  .Rh)Error locating a global variable called Display which member on click?Pick your member>Display which member on click-back ?(should be your Original)nChoose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:rcsL\ \\\*7;M E1E2ACO4E1E2ACO5E1E2ACO6E1E2ACO8DCWDb4568 $ Field For Checked Answer ResultrcsL,,,\  (\\\@< I4E2Cg,I5E2Cg,I6E2Cg,ADCWDb DCWDb4561 $2 Field For Checked Answer Result Correct! Try AgainmanLP<<9mouseUpgetPropertyDescriptionListmemberradiotextanswertextmecommentformatstringdefaultsetAtreturnPDL!FirstMultiChoiceResultsToBeJudgedAnswerofFirstMultiChoicegraphicselectabcdBelow startMovie SelectBelowefspritepointlocblendRadioButtonNameFirstEliminatedFieldSecEliminatedFieldThirdEliminatedFieldFourthEliminatedFieldFieldThatStaysFieldThatStaysLOCaddPropinteger mouseDown beginSpritemyglistreferenceglobals mylistnamegetAtvoidpalerthalt spriteNummyOriginalMembermyClickSwapMembersymbolgListgList2gList3 prepareMovieglist4muhT;$$+++++VV+VfDEMX__SFWSS`.@.@ C&oVA~=lZ` *@ muhT$$knujN . ---------------------------------------------- on mouseup --test your 2 correct answers. (their on/off condition is stored in glist and glist2 global glist, glist2, glist3 if glist [#myClickSwapMember]=0 and glist2 [#myClickSwapMember]=0 and glist3 [#myClickSwapMember]=1 then member("Field For Checked Answer Result").text = "Correct!" else member("Field For Checked Answer Result").text = "Try Again" end if end Check 2 Multi Choice Answers_,?#@{. .CtSAC checked?%@{. .P4  tSAC  unchecked ?%@{. .P0  tSAC w   --Custom global list to track the condition of multiple swap members. This current movie behavior is prepared to handle the toggling of up to 4 mutliple checkboxes. Just add more list if needed. If your in need of a global list with only 1 or 2 list, simply delete the list below that you do not want -------------------------------------- on prepareMovie global glist, glist2, glist3, glist4 set glist = [#myOriginalMember:0, #myClickSwapMember:1] set glist2 =[#myOriginalMember:0, #myClickSwapMember:1] set glist3 = [#myOriginalMember:0, #myClickSwapMember:1] set glist4 =[#myOriginalMember:0, #myClickSwapMember:1] member("Field For Checked Answer Result").text="" end&Multiple Global List for Member Changes,>ؼ@{. .XtcL `  qHq4q q pp p0p1 p2p5ppl-rcsL\ \\\*7;eE1E2ACO4E1E2ACO5E1E2ACO6E1E2ACO8DCWDb4568 $ Field For Checked Answer ResultrcsL,,,\  (\\\@< I4E2Cg,I5E2Cg,I6E2Cg,ADCWDb DCWDb4561 $2 Field For Checked Answer Result Correct! Try AgaintSAC  unchecked ?%@{. .P0  fknujlobals mylistnamegetAtvoidpalerthalt spriteNummyOriginalMembermyClickSwapMembersymbolgListgList2gList3 prepareMovieglist4DTIBknujuseDowneknujeDownmuhT +++++VV++VVVVVVVVVV+++VVVVVVVVV22V+++++VV+++++++++++++++ ++++""+++ +"++++ +##" #+++ +#"#"++++#"++++++"++++++ +++++++++++++++++++++++++++muhTo+++++VV++VVVVVVVVVV++VVVVVVVVV22V++VV+++++++++++++++++++++++++++++++#++++++ ++++#+++#++++++#++++++#++++#+++++++++++++++++++++++++++++++muhT +++++++++++++++++++++2++1++""2++!8"92++F"F++2"8!++"8+8++++2+++++++++++++++++++++tSACNy&&&&&&&&6CCSSSSSW[_%background of arrow for dropdown menux ѭlVector Shape%%> @{). . vectorShapefFLSHf%%JJBB?B vertex ' ' tSACC 5 z--Attached this behavior to a submit or check answers button to judge whether multiple Dropdown or multi choice answers are correct by examining their on or off state in their corrisponding global list. If both answers are correct. The word "correct" will be placed in the "Field For Checked Answer Result". --By default, the correct answers are being tracked in glist1 and glist2. If your 3rd member is incorrect, track its on/off results in a glist number other than the ones use are using for this behavior. (like glist3 if it is a 3rd member) --You could go further and add more than 2 correct answers by changing the mousup if statement below. Just remember to add additional glist to the "Multiple Global List For Member Change" behavior as it is currently set to handle only 4 swap members. --As mentioned above, remember to name the condition of your incorrect swap members in glist. So if you have a 3rd swap member that is incorrect, reference it as glist3. ---------------------------------------------- on mouseup --test your 2 correct answers. (their on/off condition is stored in glist and glist2 global glist, glist2, glist3 if glist [#myClickSwapMember]=0 and glist2 [#myClickSwapMember]=0 and glist3 [#myClickSwapMember]=1 then member("Field For Checked Answer Result").text = "Correct!" else member("Field For Checked Answer Result").text = "Try Again" end if end Check 2 Multi Choice Answers_,?#@{. . tSAC1 # --On Click Member Change For Multiple Members --authored by Kyle Gonyer June 2003 --Used for on/off buttons where members must change on click and then change back on 2nd click. --The ability to use with more than one member makes this behavior suited for checkboxes in Multiple Choice Quizes where more than 1 answer is needed for it to be correct. --Important!, You MUST use this behavior with its accompanying movie behavior "Multiple Global List For Member Change". The movie script is required to keep track of the on/off state of the clicks for 2 seperate members that are changing their sprites (such as a pair of check boxes) --attach this behavior to the 2nd sprite that you want to change its appearance (swap its member) on click. You will receive pulldown menus that allow you to type in the name of the list in the "Multiple Global List For Member Change" behavior that will be doing the tracking. The default is currently named glist2. --This behavior will work well when you want to trigger certain actions depending on if it is your first or second click such as a check box being checked or unchecked. With this behavior, the list is tracking your actions using 0's and 1's as (true or false) or in a checkboxes case: (checked and unchecked). --You can add more member change elements by adding more list to the global list behavior and changing the reference to it. For an example: if you add a 3rd list (glist3), then you would drag this behavior to the 3rd member and type in glist3 into this behaviors parameters dialogue box. --If you are new to list and our examining the global list, then the way to understand it is the item in the list after the "#" is the property and the item after the ":" is the value. In this examaple only the values are being replaced in the list. property spriteNum property myClickSwapMember property myOriginalMember global glist, glist2, glist3 property myglistreference -- the glist reference property mylistname ---------------------------------------------------- on beginSprite (me) -- get a reference to the list stored in the globals using the name -- specified in the getPropertyDescriptionList dialog myglistreference = (the globals)[mylistname] if voidP(myglistreference) then -- if we cannot find the global, then show a warning and stop the movie alert "Error locating a global variable called " & mylistname halt end if end on mousedown -- global mylistname --reference the list with these conditions using mylistname as a property that represents the the name of the list if sprite(spriteNum).member=member(myOriginalMember)then myglistreference[#myOriginalMember]=1 if sprite(spriteNum).member=member(myOriginalMember)then myglistreference[#myClickSwapMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myOriginalMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myClickSwapMember]=1 end if end if end if end if end ------------------------------------------------ on mouseup --displays a certain member depending on what the list says. The list will say if it should display the clicked or un-clicked member --global mylistname if myglistreference[#myOriginalMember]=1 then sprite(spriteNum).member = myClickSwapMember if myglistreference[#myClickSwapMember]=1 then sprite(spriteNum).member = myOriginalMember end if end if end ----------------------------------------- on getPropertyDescriptionList PDL=[:] PDL [#myClickSwapMember]= [#comment: "Display which member on click?",#format: #graphic, #default: member "Pick your member"] PDL [#myOriginalMember]= [#comment: "Display which member on click-back ?(should be your Original)",#format: #graphic, #default: member "Pick your member"] PDL [#mylistname]= [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:",#format: #symbol, #default: #glist] return PDL end %On Click Member Change For checkboxes[#myClickSwapMember: [#comment: "Display which member on click?", #format: #graphic, #default: (member -1 of castLib 1)], #myOriginalMember: [#comment: "Display which member on click-back ?(should be your Original)", #format: #graphic, #default: (member -1 of castLib 1)], #mylistname: [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:", #format: #symbol, #default: #gList]]73,>@{. .mknuj glist from the Global List for Member Change behavior that coincides with this sprite:", #format: #symbol, #default: #gList]]73,>@{. .tDEMXhh\FWS\`6`$ C0\l7-$J""0A=s>,=9 @knujjrcsL\\^^(#\  DCWJbDCWDb CRLEEDEEE DCBg LBW  <Bmulti choice answer Field For Checked Answer ResulthWhat do you want this radio button's text result to be when selected? It will go to a hidden text fieldyesDTIB-muhT7)############################################################ ######################################## ###########################################################################muhT~7)XtcL `  eeexedePe< e(0e1 e2d5" 4d-DEMX__SFWSS`.@.@ C&oVA~=lZ` *@knujfrcsL|||\x\`` 4| 2.:,,.. J CWaJDCWaDDCWDb DCWDb' CRLE EDEEE DCBg LEEDEEE DCBg LBW   DR`multi choice answeryes Field For Checked Answer Result Correct! Try Again=Name of text field that holds the first multichoice results?Dropdown Menu Results5Answer that needs to be in this field to be correct:CrcsL\\\\P BNPRR T``bb dppr&r ta" &DCWDb DCWDb DCWDb DCWDb DCWDb 8>DJDropdown Menu ResultsThis item was left blankABCDrcsL\ \\\* DCWDb $ Field For Checked Answer ResultrcsL\\\\H8J((* o#* 0<<> 7,> @LLN u0N P\\^ 4^ `lln 8n p||~ =~DCWDbACWACWbACWA CWbACWAdb  DCWDbACWACWbACWA CWbACWA CWbACWAdb  DCWDb DCWDb DCWDb DCWDb DCWDb  *06<BbaThis items was left blankxcdefrcsL\\\\X\jj : !"#$Y   3 ($ DCWJbJCWACWbJ CWA&CWbJ!CWAXCWbJ"CWACWbJ#CWJ$b  CRLEEDEEE DCBW%LE#EDEE&E ACBW%LE$EDEEE ACWCBW%LEEDEE&E ACBW%LE EDEE&E ACBW%LE!EDEE&E ACBW%LE"EDEE&E ACBW%LBW  BP.~RadioAnswerHiddenField!Type in your radio button's name SituationAChoose the sprite # of the field that stays upon radio selectionDtype in the loc of where the field that stays needs to be (its X,Y)LChoose the sprite # of the 1st dropdown field to be elimited upon selectionLChoose the sprite # of the 2nd dropdown field to be elimited upon selectionLChoose the sprite # of the 3rd dropdown field to be elimited upon selectionLChoose the sprite # of the 4th dropdown field to be elimited upon selectionrcsL\\\\  |\avvxxa %  /  3 DCWDbACWA A\CWbACWA ApCWbACWA? A?CWbtSACm _  --Custom global list to track the condition of multiple swap members or to track the choices from multiple dropdown menus. Just add more list if needed. 1 list for every dropdown menu. This current --this current movie behavior is prepared to handle the toggling of up to 4 mutliple checkboxes. Just add more list if needed. If your in need of a global list with only 1 or 2 list, simply delete the list below that you do not want -- If this is being used to track dropdowns, set the glist ="" (the menu will fill it at run-time) -------------------------------------- on prepareMovie global glist, glist2, glist3, glist4 set glist = [#myOriginalMember:0, #myClickSwapMember:1] set glist2 =[#myOriginalMember:0, #myClickSwapMember:1] set glist3 = [#myOriginalMember:0, #myClickSwapMember:1] set glist4 =[#myOriginalMember:0, #myClickSwapMember:1] member("Field For Checked Answer Result").text="" end&Multiple Global List for Member Changes,>ؼA:. .rcsL\ \fld021)+456(!$FHH H'oR '1 5YXXZ @ Z _*J+Cg,P)J)CW-DJ+ BW.BW/ J0CWaJ1CW J)E1ABg J0CWaJ1CW J)E2Bg J0CWaJ2CW J)E1Bg J0CWaJ2CW J)E2ABg J)E1Cg,A J0CWJ2bJ)E2Cg,A J0CWJ1bCRLE2EDEEE DCWCBg LE1EDEEE DCWCBg LE+EDEE3E E4CBg LBW  .Rh)Error locating a global variable called Display which member on click?Pick your member>Display which member on click-back ?(should be your Original)nChoose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:rcsL\ \\\*7;M E1E2ACO4E1E2ACO5E1E2ACO6E1E2ACO8DCWDb4568 $ Field For Checked Answer ResultrcsL,,,\  (\\\@< I4E2Cg,I5E2Cg,I6E2Cg,ADCWDb DCWDb4561 $2 Field For Checked Answer Result Correct! Try AgainmanLP<<9mouseUpgetPropertyDescriptionListmemberradiotextanswertextmecommentformatstringdefaultsetAtreturnPDL!FirstMultiChoiceResultsToBeJudgedAnswerofFirstMultiChoicegraphicselectabcdBelow startMovie SelectBelowefspritepointlocblendRadioButtonNameFirstEliminatedFieldSecEliminatedFieldThirdEliminatedFieldFourthEliminatedFieldFieldThatStaysFieldThatStaysLOCaddPropinteger mouseDown beginSpritemyglistreferenceglobals mylistnamegetAtvoidpalerthalt spriteNummyOriginalMembermyClickSwapMembersymbolgListgList2gList3 prepareMovieglist4knuj muhTZZ# ZZZZ##ZZZZZZZZZZZZZZZZZZZZ #ZZZZZZZZZZZ  #######muhTu\bbb\\b\\b\\b\b\b\b\\\b\\b\b\\b\\b\b\b\\b\\bb\\b\\bҫ\b\+\\b\\b\\b\\bTb\b\b\\b\\b\\bUV\\\+\b\\b\\b\UT\b \ \[҆\b\}V +~ҫ\b b/(/) VV\b\\Y+ b\\\)Y++ Vb\b\\1խY|_.,.\b\bՃV-)\b\\\YYS\\]b\\b\YYWVV\b\\Y++\b\b\\b\) /+++b\\\\b\\bU+\\b\b\b\\b V+\b\\b\\b\b\\b\V\b\b\\b\b\\b\\\\b\\b\b\\b\\b\\b\+\\b\b\b\\b\b\\b+\b\\b\\b\\b\\b\b\\b\\V\\bb\\b\ b\\bb\\b\\b\ \\b\\b\b\\b\b\\b+b\\\b\b\\b\b\\b\\b\\b\\b\\b\b\\b\b\\b\\b\\b\bmuhTL +++++++++ ++++2+++V+]99Ol+++++VV$+++ ++l+++l++++++++ ++++ +++++V++++ +V+ +++++++++++++++++#++ ##++++++++#++++++++++##+++ ++##+##++++++###++++++++##++++++++++#+ ++++++++++++++++muhT7)V+V++++V++V+V+V++muhT7)pamm fJLXFIR>+pami qpamm 4Tq*YEKt,tSACtSACtSAC tSAC  FCRDTknujZ!tSACmXtcLknuj\knuj B fniClSREV #manLPrcsLjrcsL|tSACtSACrmuhT$muhT %muhT'muhT:)knuj#Kknuj N'knuj,PrcsL~rcsLknujtSAC~knujoknujq knujVnZmuhTRtSAC1JtSAC}tSACCwknujޯ0muhTHknuj,Mknujf/*SAC@xmuhToбrcsL,Pknuj"knuj @Hknuj knuj2knuj knuj 7CrcsL8rcsLknuj 93tSACN DTIB-TmuhTDTIBmuhT~knujo[knujYmuhTu>muhTLknuj&&knuj@j6muhT;ܠknuj1knuj#<DEMXhoDEMX_ muhTknuj @knuj_knuj zknuj #eknuj#DknujIknujt*1rcsLknuj@#RknujT,#Nknujlx,Qknuj`*knuj|=knuj$ZuWtSAC$knuj\sAknujNVUknuj2SknujCXknujN hTrcsLڗknuj1.knujmr]knuj,^knujP)knuj #`knujhaknujbknuj_$cknuj6diteNum).member=member(myOriginalMember)then myglistreference[#myOriginalMember]=1 if sprite(spriteNum).member=member(myOriginalMember)then myglistreference[#myClickSwapMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myOriginalMember]=0 if sprite(spriteNum).member=member(myClickSwapMember)then myglistreference[#myClickSwapMember]=1 end if end if end if end if end ------------------------------------------------ on mouseup --displays a certain member depending on what the list says. The list will say if it should display the clicked or un-clicked member --global mylistname if myglistreference[#myOriginalMember]=1 then sprite(spriteNum).member = myClickSwapMember if myglistreference[#myClickSwapMember]=1 then sprite(spriteNum).member = myOriginalMember end if end if end ----------------------------------------- on getPropertyDescriptionList PDL=[:] PDL [#myClickSwapMember]= [#comment: "Display which member on click?",#format: #graphic, #default: member "Pick your member"] PDL [#myOriginalMember]= [#comment: "Display which member on click-back ?(should be your Original)",#format: #graphic, #default: member "Pick your member"] PDL [#mylistname]= [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:",#format: #symbol, #default: #glist] return PDL end %On Click Member Change For checkboxes[#myClickSwapMember: [#comment: "Display which member on click?", #format: #graphic, #default: (member -1 of castLib 1)], #myOriginalMember: [#comment: "Display which member on click-back ?(should be your Original)", #format: #graphic, #default: (member -1 of castLib 1)], #mylistname: [#comment: "Choose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:", #format: #symbol, #default: #gList]]73,>@{. .=rcsL\ \fld021)+456(!$FHH H'oR '1 5YXXZ @ Z _*J+Cg,P)J)CW-DJ+ BW.BW/ J0CWaJ1CW J)E1ABg J0CWaJ1CW J)E2Bg J0CWaJ2CW J)E1Bg J0CWaJ2CW J)E2ABg J)E1Cg,A J0CWJ2bJ)E2Cg,A J0CWJ1bCRLE2EDEEE DCWCBg LE1EDEEE DCWCBg LE+EDEE3E E4CBg LBW  .Rh)Error locating a global variable called Display which member on click?Pick your member>Display which member on click-back ?(should be your Original)nChoose the name of the glist from the Global List for Member Change behavior that coincides with this sprite:manLP<<9mouseUpgetPropertyDescriptionListmemberradiotextanswertextmecommentformatstringdefaultsetAtreturnPDL!FirstMultiChoiceResultsToBeJudgedAnswerofFirstMultiChoicegraphicselectabcdBelow startMovie SelectBelowefspritepointlocblendRadioButtonNameFirstEliminatedFieldSecEliminatedFieldThirdEliminatedFieldFourthEliminatedFieldFieldThatStaysFieldThatStaysLOCaddPropinteger mouseDown beginSpritemyglistreferenceglobals mylistnamegetAtvoidpalerthalt spriteNummyOriginalMembermyClickSwapMembersymbolgListgList2gList3 prepareMovieglist4pamm `)DXFIR5pami kpamm zk*YEKt*tSAC,tSAC1tSAC 9tSAC 7FCRDT,#tSACZtSACmrXtcL,rcsL\tSAC BfniClx,SREV #manLPrcsLjrcsL|tSAC\stSAC@jmuhT$muhT %muhT'muhT:)knujrtSAC Nknuj +rcsL~rcsLrcsLtSACmuhTomuhTqknujtZmuhTRtSAC1tSACVntSACCmuhTޯmuhTHknuj F+Lknujf/knuj  RmuhToбrcsL,knuj."knuj @@rcsLrcsLrcsLknuj xCrcsLrcsLknujx3tSACNVDTIB-TmuhTDTIBmuhT~knujoTknujYmuhTu>muhTLknuj&&knujr6muhTknuj wknuj#<DEMXhDEMX_$muhT6knujP"Jknuj #Hknuj,_knujt,knuj#Mknuj#Iknuj@x\knujTK*SAC@#knujNknujQknuj`*knuj|=knuj$WtSAC$ZuknujAknujN Uknuj2SknujC(Xknujz^knujlOknuj14.knuj]knujn[knujDEMX_$muhT6knujt,knujTHknujlI*SAC@#knuj)knujLknuj  Mknuj Nknuj wOknuj PknujQknuj`*knuj<w=knuj<3tSAC$ZuknujAknujWknujXknujdYknuj,|ZknujP[pamm `HDXFIR5pami wpamm F+Lw*YEKt,tSACtSACtSAC tSAC  FCRDTtSACxtSACXtcLzrcsL\tSAC wfniClSREV #manLP"rcsLjrcsL|tSACtSACrmuhT$muhT %muhT'muhT:)rcsLrtSAC xknujZ+rcsL~rcsLrcsLtSAC.muhTomuhTqknuj[muhTRtSAC14tSACttSACC(muhTޯmuhTHknujt*knujf/knuj NRmuhToбrcsL,knuj"knujX@rcsLrcsLrcsLknuj\sCknuj#<rcsLnknujNVUtSACN DTIB-TmuhTDTIBmuhT~knuj |oTknujSmuhTu>muhTLknujzknujC6muhTknuj jknujx,#4DEMXhDEMX_$muhT6knuj Iknuj#Jknuj#_knuj@#MknujTx,)knujl,L*SAC@xknujH-Kknuj F8\knuj \9Pknuj BQknuj`*knujB=knuj$Zu3tSAC$knujnAknujWknuj1XknujrYknuj,Zknuj.2Oknuj,.knujP]knuj ho^