diff --git a/.github/workflows/loading-groups.yml b/.github/workflows/loading-groups.yml index 53195035..c8657f68 100644 --- a/.github/workflows/loading-groups.yml +++ b/.github/workflows/loading-groups.yml @@ -1,18 +1,28 @@ name: Baseline Groups - -on: [push,pull_request,workflow_dispatch] - +on: + - push + - pull_request + - workflow_dispatch jobs: group-loading: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0 ] - load-spec: [ deployment, dependent-sunit-extensions, tests, tools, development ] + smalltalk: + - Pharo64-11 + - Pharo64-10 + - Pharo64-9.0 + - Pharo64-8.0 + load-spec: + - deployment + - dependent-sunit-extensions + - tests + - tools + - development name: ${{ matrix.smalltalk }} + ${{ matrix.load-spec }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: hpi-swa/setup-smalltalkCI@v1 with: smalltalk-image: ${{ matrix.smalltalk }} diff --git a/.github/workflows/markdown-lint.yml b/.github/workflows/markdown-lint.yml index fbb50fa2..84e4633b 100644 --- a/.github/workflows/markdown-lint.yml +++ b/.github/workflows/markdown-lint.yml @@ -1,11 +1,14 @@ name: Markdown Lint -on: [push,pull_request,workflow_dispatch] +on: + - push + - pull_request + - workflow_dispatch jobs: remark-lint: name: runner / markdownlint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: markdownlint uses: reviewdog/action-markdownlint@v0 with: diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 852b0a47..c3edf0cf 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -1,17 +1,22 @@ -name: Unit Tests - -on: [push,pull_request,workflow_dispatch] - +name: Pharo Unit Tests +on: + - push + - pull_request + - workflow_dispatch jobs: - build: + unit-tests: runs-on: ubuntu-latest strategy: matrix: - smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0 ] + smalltalk: + - Pharo64-11 + - Pharo64-10 + - Pharo64-9.0 + - Pharo64-8.0 fail-fast: false name: ${{ matrix.smalltalk }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Smalltalk CI uses: hpi-swa/setup-smalltalkCI@v1 with: @@ -22,7 +27,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 15 - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: name: Unit-Tests-${{matrix.smalltalk}} token: ${{ secrets.CODECOV_TOKEN }} diff --git a/source/Willow-Core-Tests/AddTimestampToSourceCommandTest.class.st b/source/Willow-Core-Tests/AddTimestampToSourceCommandTest.class.st index 5f2ca32a..61c5e489 100644 --- a/source/Willow-Core-Tests/AddTimestampToSourceCommandTest.class.st +++ b/source/Willow-Core-Tests/AddTimestampToSourceCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #AddTimestampToSourceCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'AddTimestampToSourceCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } AddTimestampToSourceCommandTest >> testApplyToOn [ | html upToTime afterTime | diff --git a/source/Willow-Core-Tests/AjaxAwareErrorHandlerTest.class.st b/source/Willow-Core-Tests/AjaxAwareErrorHandlerTest.class.st index 98b894ec..be18ae15 100644 --- a/source/Willow-Core-Tests/AjaxAwareErrorHandlerTest.class.st +++ b/source/Willow-Core-Tests/AjaxAwareErrorHandlerTest.class.st @@ -2,12 +2,14 @@ An AjaxAwareErrorHandlerTest is a test class for testing the behavior of AjaxAwareErrorHandler " Class { - #name : #AjaxAwareErrorHandlerTest, - #superclass : #WAErrorHandlerTest, - #category : #'Willow-Core-Tests-Applications' + #name : 'AjaxAwareErrorHandlerTest', + #superclass : 'WAErrorHandlerTest', + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> createHttpXmlRequestContext [ | request | @@ -21,7 +23,7 @@ AjaxAwareErrorHandlerTest >> createHttpXmlRequestContext [ ^ WARequestContext request: request response: WABufferedResponse new ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> handlerClass [ ^ AjaxAwareErrorHandlerFactory new @@ -30,7 +32,7 @@ AjaxAwareErrorHandlerTest >> handlerClass [ yourself ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testAssertionFailed [ | context reportingActionWasEvaluated updateRootBlockWasEvaluated renderingBlockWasEvaluated | @@ -60,7 +62,7 @@ AjaxAwareErrorHandlerTest >> testAssertionFailed [ self fail ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testHandleErrorInAjaxCall [ | context | @@ -76,7 +78,7 @@ AjaxAwareErrorHandlerTest >> testHandleErrorInAjaxCall [ self fail ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testHandlerErrorInAjaxCallReferencingHandler [ | context ajaxHandlerWasEvaluated | @@ -93,7 +95,7 @@ AjaxAwareErrorHandlerTest >> testHandlerErrorInAjaxCallReferencingHandler [ self assert: ajaxHandlerWasEvaluated ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testReportingActionArgumentsAreOptional [ | context reportingActionWasEvaluated | @@ -117,7 +119,7 @@ AjaxAwareErrorHandlerTest >> testReportingActionArgumentsAreOptional [ self fail ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testXmlHttpRequest [ | context | @@ -131,7 +133,7 @@ AjaxAwareErrorHandlerTest >> testXmlHttpRequest [ do: [ :n | self fail ] ] -{ #category : #accessing } +{ #category : 'accessing' } AjaxAwareErrorHandlerTest >> testXmlHttpRequestWithResumable [ | context handlerWasEvaluated | diff --git a/source/Willow-Core-Tests/AlertingCommandTest.class.st b/source/Willow-Core-Tests/AlertingCommandTest.class.st index ab17f34a..d6ea11aa 100644 --- a/source/Willow-Core-Tests/AlertingCommandTest.class.st +++ b/source/Willow-Core-Tests/AlertingCommandTest.class.st @@ -2,40 +2,42 @@ An AlertingCommandTest is a test class for testing the behavior of AlertingCommand " Class { - #name : #AlertingCommandTest, - #superclass : #BWRenderingTest, + #name : 'AlertingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } AlertingCommandTest >> setUp [ super setUp. command := AlertingCommand stating: 'Great!' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } AlertingCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } AlertingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } AlertingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } AlertingCommandTest >> testServerIndependentInstructions [ | html | diff --git a/source/Willow-Core-Tests/AsynchronicButtonWebViewTest.class.st b/source/Willow-Core-Tests/AsynchronicButtonWebViewTest.class.st index 70035281..f7aa379a 100644 --- a/source/Willow-Core-Tests/AsynchronicButtonWebViewTest.class.st +++ b/source/Willow-Core-Tests/AsynchronicButtonWebViewTest.class.st @@ -2,12 +2,14 @@ An AsynchronicButtonWebViewTest is a test class for testing the behavior of AsynchronicButtonWebView " Class { - #name : #AsynchronicButtonWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'AsynchronicButtonWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } AsynchronicButtonWebViewTest >> testBeIdentifiable [ | button html | @@ -18,7 +20,7 @@ AsynchronicButtonWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } AsynchronicButtonWebViewTest >> testIdentifierOn [ | button html | @@ -34,7 +36,7 @@ AsynchronicButtonWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } AsynchronicButtonWebViewTest >> testOn [ | button html | @@ -48,7 +50,7 @@ AsynchronicButtonWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } AsynchronicButtonWebViewTest >> testRenderContentOn [ | button html | diff --git a/source/Willow-Core-Tests/AutoFocusComponentCommandTest.class.st b/source/Willow-Core-Tests/AutoFocusComponentCommandTest.class.st index 137d09e2..deaf0bd4 100644 --- a/source/Willow-Core-Tests/AutoFocusComponentCommandTest.class.st +++ b/source/Willow-Core-Tests/AutoFocusComponentCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #AutoFocusComponentCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'AutoFocusComponentCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } AutoFocusComponentCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/BinaryChoiceWebViewTest.class.st b/source/Willow-Core-Tests/BinaryChoiceWebViewTest.class.st index 70db835a..04e5a8d4 100644 --- a/source/Willow-Core-Tests/BinaryChoiceWebViewTest.class.st +++ b/source/Willow-Core-Tests/BinaryChoiceWebViewTest.class.st @@ -2,33 +2,35 @@ I'm an abstract test case for views implementing the binary choice API " Class { - #name : #BinaryChoiceWebViewTest, - #superclass : #BWRenderingTest, + #name : 'BinaryChoiceWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #testing } +{ #category : 'testing' } BinaryChoiceWebViewTest class >> isAbstract [ ^self name = #BinaryChoiceWebViewTest ] -{ #category : #support } +{ #category : 'support' } BinaryChoiceWebViewTest >> changeNotifiedBy: aCheckboxWebView [ notificationWasReceived := true ] -{ #category : #support } +{ #category : 'support' } BinaryChoiceWebViewTest >> newBinaryChoiceView [ ^self subclassResponsibility ] -{ #category : #'tests-Binary Choice-API' } +{ #category : 'tests-Binary Choice-API' } BinaryChoiceWebViewTest >> testAllows [ | binaryChoiceView | @@ -41,7 +43,7 @@ BinaryChoiceWebViewTest >> testAllows [ deny: (binaryChoiceView allows: 1) ] -{ #category : #'tests-Binary Choice-API' } +{ #category : 'tests-Binary Choice-API' } BinaryChoiceWebViewTest >> testControlSelection [ | binaryChoiceView | @@ -58,7 +60,7 @@ BinaryChoiceWebViewTest >> testControlSelection [ self deny: binaryChoiceView currentSelection ] -{ #category : #'tests-Binary Choice-API' } +{ #category : 'tests-Binary Choice-API' } BinaryChoiceWebViewTest >> testCurrentSelection [ | binaryChoiceView | @@ -74,7 +76,7 @@ BinaryChoiceWebViewTest >> testCurrentSelection [ self assert: binaryChoiceView currentSelection ] -{ #category : #'tests-Binary Choice-API' } +{ #category : 'tests-Binary Choice-API' } BinaryChoiceWebViewTest >> testNotifyChangesWhenSelectionChanged [ | binaryChoiceView | diff --git a/source/Willow-Core-Tests/CheckboxWebViewTest.class.st b/source/Willow-Core-Tests/CheckboxWebViewTest.class.st index d5dc1227..97fb6fa6 100644 --- a/source/Willow-Core-Tests/CheckboxWebViewTest.class.st +++ b/source/Willow-Core-Tests/CheckboxWebViewTest.class.st @@ -2,18 +2,20 @@ A CheckboxWebViewTest is a test class for testing the behavior of CheckboxWebView " Class { - #name : #CheckboxWebViewTest, - #superclass : #BinaryChoiceWebViewTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'CheckboxWebViewTest', + #superclass : 'BinaryChoiceWebViewTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CheckboxWebViewTest >> newBinaryChoiceView [ ^ CheckboxWebView onModel: true offModel: false ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } CheckboxWebViewTest >> testBeIdentifiable [ | html binaryChoiceView | @@ -27,7 +29,7 @@ CheckboxWebViewTest >> testBeIdentifiable [ equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } CheckboxWebViewTest >> testIdentifierOn [ | html checkbox | @@ -44,7 +46,7 @@ CheckboxWebViewTest >> testIdentifierOn [ equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } CheckboxWebViewTest >> testOn [ | html binaryChoiceView | @@ -59,7 +61,7 @@ CheckboxWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } CheckboxWebViewTest >> testRenderingAfterUpdatingModel [ | html checkbox | @@ -75,7 +77,7 @@ CheckboxWebViewTest >> testRenderingAfterUpdatingModel [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } CheckboxWebViewTest >> testRenderingWithLabel [ | html checkbox | @@ -91,7 +93,7 @@ CheckboxWebViewTest >> testRenderingWithLabel [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } CheckboxWebViewTest >> testWithNonBooleanModels [ | html checkbox | diff --git a/source/Willow-Core-Tests/CombinedEventInterpreterDispatcherTest.class.st b/source/Willow-Core-Tests/CombinedEventInterpreterDispatcherTest.class.st index bef2c80e..d7ab9906 100644 --- a/source/Willow-Core-Tests/CombinedEventInterpreterDispatcherTest.class.st +++ b/source/Willow-Core-Tests/CombinedEventInterpreterDispatcherTest.class.st @@ -1,14 +1,16 @@ Class { - #name : #CombinedEventInterpreterDispatcherTest, - #superclass : #BWRenderingTest, + #name : 'CombinedEventInterpreterDispatcherTest', + #superclass : 'BWRenderingTest', #instVars : [ 'okButton', 'textField' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } CombinedEventInterpreterDispatcherTest >> setUp [ super setUp. @@ -16,7 +18,7 @@ CombinedEventInterpreterDispatcherTest >> setUp [ textField := TextFieldWebView singleLineApplying: [ ] ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testChange [ | dispatcher html | @@ -37,7 +39,7 @@ CombinedEventInterpreterDispatcherTest >> testChange [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testClick [ | dispatcher html | @@ -58,7 +60,7 @@ CombinedEventInterpreterDispatcherTest >> testClick [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } CombinedEventInterpreterDispatcherTest >> testCombiningAll [ | dispatcher html | @@ -79,7 +81,7 @@ CombinedEventInterpreterDispatcherTest >> testCombiningAll [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } CombinedEventInterpreterDispatcherTest >> testCombiningInterpretersOfAll [ | dispatcher html | @@ -100,7 +102,7 @@ CombinedEventInterpreterDispatcherTest >> testCombiningInterpretersOfAll [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testEventNamed [ | dispatcher html | @@ -121,7 +123,7 @@ CombinedEventInterpreterDispatcherTest >> testEventNamed [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testKeyUp [ | dispatcher html | @@ -142,7 +144,7 @@ CombinedEventInterpreterDispatcherTest >> testKeyUp [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testMouseOver [ | dispatcher html | @@ -163,7 +165,7 @@ CombinedEventInterpreterDispatcherTest >> testMouseOver [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } CombinedEventInterpreterDispatcherTest >> testTrigger [ | dispatcher html | diff --git a/source/Willow-Core-Tests/CombinedWebInteractionInterpreterTest.class.st b/source/Willow-Core-Tests/CombinedWebInteractionInterpreterTest.class.st index 14c1da69..a26ece19 100644 --- a/source/Willow-Core-Tests/CombinedWebInteractionInterpreterTest.class.st +++ b/source/Willow-Core-Tests/CombinedWebInteractionInterpreterTest.class.st @@ -2,8 +2,8 @@ A CombinedWebInteractionInterpreterTest is a test class for testing the behavior of CombinedWebInteractionInterpreter " Class { - #name : #CombinedWebInteractionInterpreterTest, - #superclass : #BWRenderingTest, + #name : 'CombinedWebInteractionInterpreterTest', + #superclass : 'BWRenderingTest', #instVars : [ 'okButton', 'cancelButton' @@ -11,17 +11,19 @@ Class { #pools : [ 'Willow' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } CombinedWebInteractionInterpreterTest >> combinedInterpreter [ ^ CombinedWebInteractionInterpreter combining: ( Array with: okButton on trigger with: cancelButton on trigger ) ] -{ #category : #initialization } +{ #category : 'initialization' } CombinedWebInteractionInterpreterTest >> setUp [ super setUp. @@ -29,7 +31,7 @@ CombinedWebInteractionInterpreterTest >> setUp [ cancelButton := AsynchronicButtonWebView labeled: 'Cancel' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testAddCssClass [ | interpreter html | @@ -48,7 +50,7 @@ CombinedWebInteractionInterpreterTest >> testAddCssClass [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testAddCssClassToComponentsMatching [ | interpreter html | @@ -69,7 +71,7 @@ CombinedWebInteractionInterpreterTest >> testAddCssClassToComponentsMatching [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testChangeCssClassTo [ | interpreter html | @@ -96,7 +98,7 @@ CombinedWebInteractionInterpreterTest >> testChangeCssClassTo [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } CombinedWebInteractionInterpreterTest >> testCloseAllDialogs [ | interpreter html | @@ -118,7 +120,7 @@ CombinedWebInteractionInterpreterTest >> testCloseAllDialogs [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } CombinedWebInteractionInterpreterTest >> testCloseLastDialog [ | interpreter html | @@ -140,7 +142,7 @@ CombinedWebInteractionInterpreterTest >> testCloseLastDialog [ '' ] -{ #category : #'tests - Instance Creation' } +{ #category : 'tests - Instance Creation' } CombinedWebInteractionInterpreterTest >> testCombining [ | interpreter html | @@ -160,7 +162,7 @@ CombinedWebInteractionInterpreterTest >> testCombining [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testConfirmAsking [ | interpreter html | @@ -180,7 +182,7 @@ CombinedWebInteractionInterpreterTest >> testConfirmAsking [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testDisable [ | interpreter html | @@ -200,7 +202,7 @@ CombinedWebInteractionInterpreterTest >> testDisable [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testDisableSpecificComponent [ | interpreter html id | @@ -225,7 +227,7 @@ CombinedWebInteractionInterpreterTest >> testDisableSpecificComponent [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testEnable [ | interpreter html id | @@ -250,7 +252,7 @@ CombinedWebInteractionInterpreterTest >> testEnable [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testFocus [ | interpreter html id | @@ -275,7 +277,7 @@ CombinedWebInteractionInterpreterTest >> testFocus [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testFocusUsing [ | interpreter html | @@ -295,7 +297,7 @@ CombinedWebInteractionInterpreterTest >> testFocusUsing [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testInform [ | interpreter html | @@ -315,7 +317,7 @@ CombinedWebInteractionInterpreterTest >> testInform [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testInformSelection [ | interpreter html | @@ -335,7 +337,7 @@ CombinedWebInteractionInterpreterTest >> testInformSelection [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } CombinedWebInteractionInterpreterTest >> testOpen [ | interpreter html | @@ -357,7 +359,7 @@ CombinedWebInteractionInterpreterTest >> testOpen [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testRemove [ | interpreter html id | @@ -382,7 +384,7 @@ CombinedWebInteractionInterpreterTest >> testRemove [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testRemoveCssClassFromComponentsMatching [ | interpreter html | @@ -405,7 +407,7 @@ CombinedWebInteractionInterpreterTest >> testRemoveCssClassFromComponentsMatchin '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testRemoveCssClassFromComponentsWithClass [ | interpreter html | @@ -428,7 +430,7 @@ CombinedWebInteractionInterpreterTest >> testRemoveCssClassFromComponentsWithCla '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testRender [ | interpreter html | @@ -455,7 +457,7 @@ CombinedWebInteractionInterpreterTest >> testRender [ '
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testRenderAll [ | interpreter html | @@ -487,7 +489,7 @@ CombinedWebInteractionInterpreterTest >> testRenderAll [ '
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testScrollingIntoView [ | interpreter html id | @@ -511,7 +513,7 @@ CombinedWebInteractionInterpreterTest >> testScrollingIntoView [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSerializeChildForm [ | interpreter html | @@ -531,7 +533,7 @@ CombinedWebInteractionInterpreterTest >> testSerializeChildForm [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSerializeContainerForm [ | interpreter html | @@ -551,7 +553,7 @@ CombinedWebInteractionInterpreterTest >> testSerializeContainerForm [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSerializeForm [ | interpreter html | @@ -575,7 +577,7 @@ CombinedWebInteractionInterpreterTest >> testSerializeForm [ '
' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSerializeIt [ | interpreter html | @@ -595,7 +597,7 @@ CombinedWebInteractionInterpreterTest >> testSerializeIt [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSerializeWithHiddenInputs [ | interpreter html | @@ -615,7 +617,7 @@ CombinedWebInteractionInterpreterTest >> testSerializeWithHiddenInputs [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testServerDo [ | interpreter html | @@ -636,7 +638,7 @@ CombinedWebInteractionInterpreterTest >> testServerDo [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testSetValueToThenTriggerChangeOf [ | interpreter html id | @@ -660,7 +662,7 @@ CombinedWebInteractionInterpreterTest >> testSetValueToThenTriggerChangeOf [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testSetValueToWithoutTriggeringChangeOf [ | interpreter html id | @@ -684,7 +686,7 @@ CombinedWebInteractionInterpreterTest >> testSetValueToWithoutTriggeringChangeOf '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testShowLoadingNotificationDisplayingApplying [ | interpreter html | @@ -695,37 +697,36 @@ CombinedWebInteractionInterpreterTest >> testShowLoadingNotificationDisplayingAp showLoadingNotificationDisplaying: 'Loading...' applying: [ :view | view addClass willow ]. html := self renderUsing: [ :canvas | - canvas - render: okButton; - render: cancelButton + canvas + render: okButton; + render: cancelButton ]. self assert: html equals: - '' + '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testShowLoadingNotificationStyledAsAll [ | interpreter html | interpreter := self combinedInterpreter. - interpreter showLoadingNotificationStyledAsAll: #(). - html := self - renderUsing: [ :canvas | - canvas - render: okButton; - render: cancelButton - ]. + interpreter showLoadingNotificationStyledAsAll: #( ). + html := self renderUsing: [ :canvas | + canvas + render: okButton; + render: cancelButton + ]. self assert: html equals: - '' + '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testShowWhileCallingServerToRender [ | html interpreter container | @@ -751,7 +752,7 @@ CombinedWebInteractionInterpreterTest >> testShowWhileCallingServerToRender [ '
' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } CombinedWebInteractionInterpreterTest >> testSubmitForm [ | interpreter html id | @@ -777,7 +778,7 @@ CombinedWebInteractionInterpreterTest >> testSubmitForm [ '
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testSubmitFormStyledAs [ | interpreter html | @@ -797,7 +798,7 @@ CombinedWebInteractionInterpreterTest >> testSubmitFormStyledAs [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testTemporarilyDisableAndTransformInto [ | interpreter html id | @@ -822,7 +823,7 @@ CombinedWebInteractionInterpreterTest >> testTemporarilyDisableAndTransformInto '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testTemporarilyDisableAndTransformSelfInto [ | interpreter html | @@ -842,7 +843,7 @@ CombinedWebInteractionInterpreterTest >> testTemporarilyDisableAndTransformSelfI '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testToggleCssClass [ | interpreter html | @@ -865,7 +866,7 @@ CombinedWebInteractionInterpreterTest >> testToggleCssClass [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testToggleCssClassOn [ | interpreter element html | @@ -893,7 +894,7 @@ CombinedWebInteractionInterpreterTest >> testToggleCssClassOn [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testToggleCssClassOnComponentsMatching [ | interpreter html | @@ -916,7 +917,7 @@ CombinedWebInteractionInterpreterTest >> testToggleCssClassOnComponentsMatching '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } CombinedWebInteractionInterpreterTest >> testTransformInto [ | html interpreter container | @@ -942,7 +943,7 @@ CombinedWebInteractionInterpreterTest >> testTransformInto [ '
' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } CombinedWebInteractionInterpreterTest >> testUpdateCssClassesOnElementsMatching [ | interpreter html | @@ -963,7 +964,7 @@ CombinedWebInteractionInterpreterTest >> testUpdateCssClassesOnElementsMatching '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testUserAgentDo [ | interpreter html | @@ -984,7 +985,7 @@ CombinedWebInteractionInterpreterTest >> testUserAgentDo [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testWithOnlyWhenServerDo [ | interpreter html | @@ -1008,7 +1009,7 @@ CombinedWebInteractionInterpreterTest >> testWithOnlyWhenServerDo [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } CombinedWebInteractionInterpreterTest >> testWithServerDo [ | interpreter html | diff --git a/source/Willow-Core-Tests/ComponentAccessibilityEnrichmentCommandTest.class.st b/source/Willow-Core-Tests/ComponentAccessibilityEnrichmentCommandTest.class.st index 2f84a261..c5eaed21 100644 --- a/source/Willow-Core-Tests/ComponentAccessibilityEnrichmentCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentAccessibilityEnrichmentCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentAccessibilityEnrichmentCommandTest is a test class for testing the behavior of ComponentAccessibilityEnrichmentCommand " Class { - #name : #ComponentAccessibilityEnrichmentCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentAccessibilityEnrichmentCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentAccessibilityEnrichmentCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentAttributeCommandTest.class.st b/source/Willow-Core-Tests/ComponentAttributeCommandTest.class.st index ae26b128..ee536785 100644 --- a/source/Willow-Core-Tests/ComponentAttributeCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentAttributeCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #ComponentAttributeCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentAttributeCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentAttributeCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentBoundaryCommandTest.class.st b/source/Willow-Core-Tests/ComponentBoundaryCommandTest.class.st index 9096e027..6ee766f6 100644 --- a/source/Willow-Core-Tests/ComponentBoundaryCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentBoundaryCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentBoundaryCommandTest is a test class for testing the behavior of ComponentBoundaryCommand " Class { - #name : #ComponentBoundaryCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentBoundaryCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentBoundaryCommandTest >> testApplyToOn [ | html | @@ -16,7 +18,7 @@ ComponentBoundaryCommandTest >> testApplyToOn [ self assert: html equals: '' ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentBoundaryCommandTest >> testNonNegative [ | html | diff --git a/source/Willow-Core-Tests/ComponentCallbackSettingCommandTest.class.st b/source/Willow-Core-Tests/ComponentCallbackSettingCommandTest.class.st index 66f20cb8..458cba1d 100644 --- a/source/Willow-Core-Tests/ComponentCallbackSettingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentCallbackSettingCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentCallbackSettingCommandTest is a test class for testing the behavior of ComponentCallbackSettingCommand " Class { - #name : #ComponentCallbackSettingCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentCallbackSettingCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentCallbackSettingCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentClassificationCommandTest.class.st b/source/Willow-Core-Tests/ComponentClassificationCommandTest.class.st index 4290462e..b3150c32 100644 --- a/source/Willow-Core-Tests/ComponentClassificationCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentClassificationCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentClassificationCommandTest is a test class for testing the behavior of ComponentClassificationCommand " Class { - #name : #ComponentClassificationCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentClassificationCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentClassificationCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentEnableStatusChangingCommandTest.class.st b/source/Willow-Core-Tests/ComponentEnableStatusChangingCommandTest.class.st index a76e0b5c..e437a099 100644 --- a/source/Willow-Core-Tests/ComponentEnableStatusChangingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentEnableStatusChangingCommandTest.class.st @@ -2,40 +2,42 @@ A ComponentEnableStatusChangingCommandTest is a test class for testing the behavior of ComponentEnableStatusChangingCommand " Class { - #name : #ComponentEnableStatusChangingCommandTest, - #superclass : #BWRenderingTest, + #name : 'ComponentEnableStatusChangingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ComponentEnableStatusChangingCommandTest >> setUp [ super setUp . command := ComponentEnableStatusChangingCommand disablingCurrentComponent. ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentEnableStatusChangingCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentEnableStatusChangingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ComponentEnableStatusChangingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentEnableStatusChangingCommandTest >> testServerIndependentInstructions [ | html | diff --git a/source/Willow-Core-Tests/ComponentFocusingCommandTest.class.st b/source/Willow-Core-Tests/ComponentFocusingCommandTest.class.st index 8cb4f9fa..3b8feb1e 100644 --- a/source/Willow-Core-Tests/ComponentFocusingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentFocusingCommandTest.class.st @@ -2,22 +2,24 @@ A ComponentFocusingCommandTest is a test class for testing the behavior of ComponentFocusingCommand " Class { - #name : #ComponentFocusingCommandTest, - #superclass : #BWRenderingTest, + #name : 'ComponentFocusingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ComponentFocusingCommandTest >> setUp [ super setUp. command := ComponentFocusingCommand findingComponentUsing: [ :canvas | canvas jQuery this ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentFocusingCommandTest >> testModelLoadingInstructions [ | html | @@ -39,19 +41,19 @@ ComponentFocusingCommandTest >> testModelLoadingInstructions [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentFocusingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ComponentFocusingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentFocusingCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/ComponentMetadataCommandTest.class.st b/source/Willow-Core-Tests/ComponentMetadataCommandTest.class.st index e3ec80a7..a1e2e7c1 100644 --- a/source/Willow-Core-Tests/ComponentMetadataCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentMetadataCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentMetadataCommandTest is a test class for testing the behavior of ComponentMetadataCommand " Class { - #name : #ComponentMetadataCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentMetadataCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentMetadataCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentNamingCommandTest.class.st b/source/Willow-Core-Tests/ComponentNamingCommandTest.class.st index 75bff488..6b4ab4ce 100644 --- a/source/Willow-Core-Tests/ComponentNamingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentNamingCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentNamingCommandTest is a test class for testing the behavior of ComponentNamingCommand " Class { - #name : #ComponentNamingCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentNamingCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentNamingCommandTest >> testApplyToOn [ | html | html := self apply: (ComponentNamingCommand assigning: 'name') toComponentDefinedBy: [ :canvas | canvas anchor ]. diff --git a/source/Willow-Core-Tests/ComponentPlaceholderCommandTest.class.st b/source/Willow-Core-Tests/ComponentPlaceholderCommandTest.class.st index a0e0ff7b..7b8f1258 100644 --- a/source/Willow-Core-Tests/ComponentPlaceholderCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentPlaceholderCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentPlaceholderCommandTest is a test class for testing the behavior of ComponentPlaceholderCommand " Class { - #name : #ComponentPlaceholderCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentPlaceholderCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentPlaceholderCommandTest >> testApplyToOn [ | html | html := self apply: (ComponentPlaceholderCommand suggestedBy: 'user') toComponentDefinedBy: [ :canvas | canvas textInput ]. diff --git a/source/Willow-Core-Tests/ComponentReadOnlyCommandTest.class.st b/source/Willow-Core-Tests/ComponentReadOnlyCommandTest.class.st index 022097ba..c426a004 100644 --- a/source/Willow-Core-Tests/ComponentReadOnlyCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentReadOnlyCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentReadOnlyCommandTest is a test class for testing the behavior of ComponentReadOnlyCommand " Class { - #name : #ComponentReadOnlyCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentReadOnlyCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentReadOnlyCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentRemovingCommandTest.class.st b/source/Willow-Core-Tests/ComponentRemovingCommandTest.class.st index 8abc9826..978ac490 100644 --- a/source/Willow-Core-Tests/ComponentRemovingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentRemovingCommandTest.class.st @@ -2,15 +2,17 @@ A ComponentRemovingCommandTest is a test class for testing the behavior of ComponentRemovingCommand " Class { - #name : #ComponentRemovingCommandTest, - #superclass : #BWRenderingTest, + #name : 'ComponentRemovingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ComponentRemovingCommandTest >> setUp [ super setUp. @@ -22,7 +24,7 @@ ComponentRemovingCommandTest >> setUp [ applying: [ ] ) ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentRemovingCommandTest >> testModelLoadingInstructions [ | html | @@ -44,19 +46,19 @@ ComponentRemovingCommandTest >> testModelLoadingInstructions [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentRemovingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ComponentRemovingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentRemovingCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/ComponentRequiredCommandTest.class.st b/source/Willow-Core-Tests/ComponentRequiredCommandTest.class.st index aa4c4687..cab308ca 100644 --- a/source/Willow-Core-Tests/ComponentRequiredCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentRequiredCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #ComponentRequiredCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentRequiredCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentRequiredCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentScriptCommandTest.class.st b/source/Willow-Core-Tests/ComponentScriptCommandTest.class.st index 7e6a5f1d..7ff26b91 100644 --- a/source/Willow-Core-Tests/ComponentScriptCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentScriptCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentScriptCommandTest is a test class for testing the behavior of ComponentScriptCommand " Class { - #name : #ComponentScriptCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentScriptCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-applying' } +{ #category : 'tests-applying' } ComponentScriptCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentStyleClassChangingCommandTest.class.st b/source/Willow-Core-Tests/ComponentStyleClassChangingCommandTest.class.st index e1b5dc38..3858947d 100644 --- a/source/Willow-Core-Tests/ComponentStyleClassChangingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentStyleClassChangingCommandTest.class.st @@ -1,13 +1,15 @@ Class { - #name : #ComponentStyleClassChangingCommandTest, - #superclass : #BWRenderingTest, + #name : 'ComponentStyleClassChangingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ComponentStyleClassChangingCommandTest >> setUp [ super setUp. @@ -20,25 +22,25 @@ ComponentStyleClassChangingCommandTest >> setUp [ targeting: [ :canvas | canvas jQuery class: 'aComponentByStyleName' ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentStyleClassChangingCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentStyleClassChangingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ComponentStyleClassChangingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentStyleClassChangingCommandTest >> testServerIndependentInstructions [ | html | diff --git a/source/Willow-Core-Tests/ComponentTitleCommandTest.class.st b/source/Willow-Core-Tests/ComponentTitleCommandTest.class.st index 8201e7f9..b174a76c 100644 --- a/source/Willow-Core-Tests/ComponentTitleCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentTitleCommandTest.class.st @@ -2,12 +2,14 @@ A ComponentTitleCommandTest is a test class for testing the behavior of ComponentTitleCommand " Class { - #name : #ComponentTitleCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ComponentTitleCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ComponentTitleCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/ComponentValueSettingCommandTest.class.st b/source/Willow-Core-Tests/ComponentValueSettingCommandTest.class.st index d18859c0..d0d1ea93 100644 --- a/source/Willow-Core-Tests/ComponentValueSettingCommandTest.class.st +++ b/source/Willow-Core-Tests/ComponentValueSettingCommandTest.class.st @@ -2,15 +2,17 @@ A ComponentValueSettingCommandTest is a test class for testing the behavior of ComponentValueSettingCommand " Class { - #name : #ComponentValueSettingCommandTest, - #superclass : #BWRenderingTest, + #name : 'ComponentValueSettingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ComponentValueSettingCommandTest >> setUp [ super setUp. @@ -19,7 +21,7 @@ ComponentValueSettingCommandTest >> setUp [ valueFrom: [ '3' ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentValueSettingCommandTest >> testModelLoadingActionsWithoutSettingPreviouslyTheId [ | html | @@ -43,7 +45,7 @@ ComponentValueSettingCommandTest >> testModelLoadingActionsWithoutSettingPreviou '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentValueSettingCommandTest >> testModelLoadingActionsWithoutTriggering [ | html | @@ -67,7 +69,7 @@ ComponentValueSettingCommandTest >> testModelLoadingActionsWithoutTriggering [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentValueSettingCommandTest >> testModelLoadingInstructions [ | html | @@ -91,19 +93,19 @@ ComponentValueSettingCommandTest >> testModelLoadingInstructions [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentValueSettingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ComponentValueSettingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ComponentValueSettingCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/CompositeComponentCommandTest.class.st b/source/Willow-Core-Tests/CompositeComponentCommandTest.class.st index e91ec9b0..a20717cf 100644 --- a/source/Willow-Core-Tests/CompositeComponentCommandTest.class.st +++ b/source/Willow-Core-Tests/CompositeComponentCommandTest.class.st @@ -2,12 +2,14 @@ A CompositeComponentCommandTest is a test class for testing the behavior of CompositeComponentCommand " Class { - #name : #CompositeComponentCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'CompositeComponentCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } CompositeComponentCommandTest >> testApplyToOn [ | html | @@ -23,7 +25,7 @@ CompositeComponentCommandTest >> testApplyToOn [ self assert: html equals: '
' ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } CompositeComponentCommandTest >> testEmpty [ | html | @@ -32,7 +34,7 @@ CompositeComponentCommandTest >> testEmpty [ self assert: html equals: '
' ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } CompositeComponentCommandTest >> testShortcutCreation [ | html | @@ -43,7 +45,7 @@ CompositeComponentCommandTest >> testShortcutCreation [ self assert: html equals: '
' ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } CompositeComponentCommandTest >> testShortcutCreationWithEmptyCompositeCommand [ | command html | diff --git a/source/Willow-Core-Tests/CompositeTableRowCommandTest.class.st b/source/Willow-Core-Tests/CompositeTableRowCommandTest.class.st index ac78c6bc..0e9a9eb6 100644 --- a/source/Willow-Core-Tests/CompositeTableRowCommandTest.class.st +++ b/source/Willow-Core-Tests/CompositeTableRowCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #CompositeTableRowCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'CompositeTableRowCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } CompositeTableRowCommandTest >> testApplyToForOn [ | html command | @@ -21,7 +23,7 @@ CompositeTableRowCommandTest >> testApplyToForOn [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } CompositeTableRowCommandTest >> testEmpty [ | html command | @@ -35,7 +37,7 @@ CompositeTableRowCommandTest >> testEmpty [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } CompositeTableRowCommandTest >> testShortcutCreation [ | html command | @@ -51,7 +53,7 @@ CompositeTableRowCommandTest >> testShortcutCreation [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } CompositeTableRowCommandTest >> testShortcutCreationWithEmptyCompositeCommand [ | html command | diff --git a/source/Willow-Core-Tests/ConditionalComponentCommandTest.class.st b/source/Willow-Core-Tests/ConditionalComponentCommandTest.class.st index b0699fcf..2778f06b 100644 --- a/source/Willow-Core-Tests/ConditionalComponentCommandTest.class.st +++ b/source/Willow-Core-Tests/ConditionalComponentCommandTest.class.st @@ -2,12 +2,14 @@ A ConditionalComponentCommandTest is a test class for testing the behavior of ConditionalComponentCommand " Class { - #name : #ConditionalComponentCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ConditionalComponentCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } ConditionalComponentCommandTest >> testApplyToOnWhenConditionsDependsOnComponent [ | html | @@ -19,7 +21,7 @@ ConditionalComponentCommandTest >> testApplyToOnWhenConditionsDependsOnComponent self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } ConditionalComponentCommandTest >> testApplyToOnWhenConditionsIsMet [ | html | @@ -28,7 +30,7 @@ ConditionalComponentCommandTest >> testApplyToOnWhenConditionsIsMet [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } ConditionalComponentCommandTest >> testApplyToOnWhenConditionsIsNotMet [ | html | diff --git a/source/Willow-Core-Tests/ConfirmationCommandTest.class.st b/source/Willow-Core-Tests/ConfirmationCommandTest.class.st index 37ed3989..13f2765d 100644 --- a/source/Willow-Core-Tests/ConfirmationCommandTest.class.st +++ b/source/Willow-Core-Tests/ConfirmationCommandTest.class.st @@ -2,28 +2,30 @@ A ConfirmationCommandTest is a test class for testing the behavior of ConfirmationCommand " Class { - #name : #ConfirmationCommandTest, - #superclass : #BWRenderingTest, + #name : 'ConfirmationCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ConfirmationCommandTest >> setUp [ super setUp. command := ConfirmationCommand asking: 'Do you want to proceed?' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ConfirmationCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ConfirmationCommandTest >> testPriorityActions [ | html | @@ -43,13 +45,13 @@ ConfirmationCommandTest >> testPriorityActions [ equals: '' ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ConfirmationCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ConfirmationCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/ContainerWebViewTest.class.st b/source/Willow-Core-Tests/ContainerWebViewTest.class.st index 544a949d..f30fe1dc 100644 --- a/source/Willow-Core-Tests/ContainerWebViewTest.class.st +++ b/source/Willow-Core-Tests/ContainerWebViewTest.class.st @@ -2,12 +2,14 @@ A GenericContainerWebViewTest is a test class for testing the behavior of GenericContainerWebView " Class { - #name : #ContainerWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'ContainerWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testBeIdentifiable [ | container html | @@ -22,7 +24,7 @@ ContainerWebViewTest >> testBeIdentifiable [ self assert: html equals: '
Hello world
' ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testIdentifierOn [ | container | @@ -35,7 +37,7 @@ ContainerWebViewTest >> testIdentifierOn [ renderUsing: [ :canvas | self assert: ( container identifierOn: canvas ) equals: 'container-id1' ] ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testOn [ | container html | @@ -53,7 +55,7 @@ ContainerWebViewTest >> testOn [ '
Hello world
' ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testRenderContentOn [ | container html | @@ -67,7 +69,7 @@ ContainerWebViewTest >> testRenderContentOn [ self assert: html equals: '
Hi!
' ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testRenderContentOnWithScriptingCommand [ | container html | @@ -83,7 +85,7 @@ ContainerWebViewTest >> testRenderContentOnWithScriptingCommand [ equals: '
Hi!
' ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testRenderableContent [ | content container | @@ -97,7 +99,7 @@ ContainerWebViewTest >> testRenderableContent [ self assert: container renderableContent equals: content ] -{ #category : #tests } +{ #category : 'tests' } ContainerWebViewTest >> testWrappingIntoElementBuiltUsingApplying [ | container html | diff --git a/source/Willow-Core-Tests/DateFieldWebViewTest.class.st b/source/Willow-Core-Tests/DateFieldWebViewTest.class.st index 493640be..61de1a71 100644 --- a/source/Willow-Core-Tests/DateFieldWebViewTest.class.st +++ b/source/Willow-Core-Tests/DateFieldWebViewTest.class.st @@ -2,21 +2,23 @@ A DateFieldWebViewTest is a test class for testing the behavior of DateFieldWebView " Class { - #name : #DateFieldWebViewTest, - #superclass : #BWRenderingTest, + #name : 'DateFieldWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } DateFieldWebViewTest >> changeNotifiedBy: aTextFieldWebView [ notificationWasReceived := true ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testBeIdentifiable [ | dateField html | @@ -29,7 +31,7 @@ DateFieldWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testDate [ | dateField html currentDate | @@ -47,7 +49,7 @@ DateFieldWebViewTest >> testDate [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testIdentifierOn [ | dateField html | @@ -62,7 +64,7 @@ DateFieldWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testNotifyChangesTo [ | dateField | @@ -75,7 +77,7 @@ DateFieldWebViewTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testOn [ | dateField html | @@ -91,7 +93,7 @@ DateFieldWebViewTest >> testOn [ '' ] -{ #category : #tests } +{ #category : 'tests' } DateFieldWebViewTest >> testRenderContentOn [ | dateField html | diff --git a/source/Willow-Core-Tests/DeselectAllOptionsCommandTest.class.st b/source/Willow-Core-Tests/DeselectAllOptionsCommandTest.class.st index 4b2e24a1..91ac65df 100644 --- a/source/Willow-Core-Tests/DeselectAllOptionsCommandTest.class.st +++ b/source/Willow-Core-Tests/DeselectAllOptionsCommandTest.class.st @@ -2,12 +2,14 @@ A DeselectAllOptionsCommandTest is a test class for testing the behavior of DeselectAllOptionsCommand " Class { - #name : #DeselectAllOptionsCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'DeselectAllOptionsCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } DeselectAllOptionsCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/DialogClosingCommandTest.class.st b/source/Willow-Core-Tests/DialogClosingCommandTest.class.st index 91c82b47..4d5dac54 100644 --- a/source/Willow-Core-Tests/DialogClosingCommandTest.class.st +++ b/source/Willow-Core-Tests/DialogClosingCommandTest.class.st @@ -2,40 +2,42 @@ A DialogClosingCommandTest is a test class for testing the behavior of DialogClosingCommand " Class { - #name : #DialogClosingCommandTest, - #superclass : #BWRenderingTest, + #name : 'DialogClosingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #private } +{ #category : 'private' } DialogClosingCommandTest >> componentSupplier [ ^Html5ComponentSupplier new ] -{ #category : #private } +{ #category : 'private' } DialogClosingCommandTest >> createHandlers [ ^ Array with: self ] -{ #category : #private } +{ #category : 'private' } DialogClosingCommandTest >> isSession [ ^ true ] -{ #category : #initialization } +{ #category : 'initialization' } DialogClosingCommandTest >> setUp [ super setUp. command := DialogClosingCommand forAllDialogs ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogClosingCommandTest >> testModelLoadingActionsWhenOnlyRemovingLastDialog [ | html | @@ -57,7 +59,7 @@ DialogClosingCommandTest >> testModelLoadingActionsWhenOnlyRemovingLastDialog [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogClosingCommandTest >> testModelLoadingActionsWhenRemovingAllDialogs [ | html | @@ -79,19 +81,19 @@ DialogClosingCommandTest >> testModelLoadingActionsWhenRemovingAllDialogs [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogClosingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } DialogClosingCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogClosingCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/DialogOpeningCommandTest.class.st b/source/Willow-Core-Tests/DialogOpeningCommandTest.class.st index aa165b19..8e5ff585 100644 --- a/source/Willow-Core-Tests/DialogOpeningCommandTest.class.st +++ b/source/Willow-Core-Tests/DialogOpeningCommandTest.class.st @@ -2,56 +2,57 @@ A DialogOpeningCommandTest is a test class for testing the behavior of DialogOpeningCommand " Class { - #name : #DialogOpeningCommandTest, - #superclass : #BWRenderingTest, + #name : 'DialogOpeningCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } DialogOpeningCommandTest >> setUp [ super setUp. command := DialogOpeningCommand alwaysOpening: [ :canvas | canvas dialog attributeAt: 'open' put: true ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogOpeningCommandTest >> testModelLoadingInstructions [ | html | - html := self - renderUsing: [ :canvas | - | script anchor | + html := self renderUsing: [ :canvas | + | script anchor | - script := canvas javascript. - anchor := canvas anchor. - canvas ensureIdFor: anchor. - command modelLoadingInstructions appendTo: script on: canvas. - anchor script: ( canvas jQuery this onClick: script ) - ]. + script := canvas javascript. + anchor := canvas anchor. + canvas ensureIdFor: anchor. + command modelLoadingInstructions appendTo: script on: canvas. + anchor script: ( canvas jQuery this onClick: script ) + ]. self assert: html equals: - '' + '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogOpeningCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } DialogOpeningCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } DialogOpeningCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/DisableComponentCommandTest.class.st b/source/Willow-Core-Tests/DisableComponentCommandTest.class.st index 7916b434..a29d1400 100644 --- a/source/Willow-Core-Tests/DisableComponentCommandTest.class.st +++ b/source/Willow-Core-Tests/DisableComponentCommandTest.class.st @@ -2,12 +2,14 @@ A DisableComponentCommandTest is a test class for testing the behavior of DisableComponentCommand " Class { - #name : #DisableComponentCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'DisableComponentCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } DisableComponentCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/DisableComponentTabCycleCommandTest.class.st b/source/Willow-Core-Tests/DisableComponentTabCycleCommandTest.class.st index 71d79894..5e086870 100644 --- a/source/Willow-Core-Tests/DisableComponentTabCycleCommandTest.class.st +++ b/source/Willow-Core-Tests/DisableComponentTabCycleCommandTest.class.st @@ -2,12 +2,14 @@ A DisableComponentTabCycleCommandTest is a test class for testing the behavior of DisableComponentTabCycleCommand " Class { - #name : #DisableComponentTabCycleCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'DisableComponentTabCycleCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } DisableComponentTabCycleCommandTest >> testApplyToOn [ | html | html := self apply: DisableComponentTabCycleCommand new toComponentDefinedBy: [ :canvas | canvas div ]. diff --git a/source/Willow-Core-Tests/EventInterpreterDispatcherTest.class.st b/source/Willow-Core-Tests/EventInterpreterDispatcherTest.class.st index eeed1ca0..ce39edc4 100644 --- a/source/Willow-Core-Tests/EventInterpreterDispatcherTest.class.st +++ b/source/Willow-Core-Tests/EventInterpreterDispatcherTest.class.st @@ -1,16 +1,18 @@ Class { - #name : #EventInterpreterDispatcherTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'EventInterpreterDispatcherTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'test support' } +{ #category : 'test support' } EventInterpreterDispatcherTest >> configureTextInputWith: aDispatcher [ ^ self apply: aDispatcher toComponentDefinedBy: [ :canvas | canvas textInput ] ] -{ #category : #'tests - evaluating' } +{ #category : 'tests - evaluating' } EventInterpreterDispatcherTest >> testApplyToOn [ | dispatcher html | @@ -25,7 +27,7 @@ EventInterpreterDispatcherTest >> testApplyToOn [ ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testChange [ | dispatcher html | @@ -39,7 +41,7 @@ EventInterpreterDispatcherTest >> testChange [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testClick [ | dispatcher html | @@ -53,7 +55,7 @@ EventInterpreterDispatcherTest >> testClick [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } EventInterpreterDispatcherTest >> testDefaultingToChange [ | dispatcher html | @@ -67,7 +69,7 @@ EventInterpreterDispatcherTest >> testDefaultingToChange [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } EventInterpreterDispatcherTest >> testDefaultingToChangeHidden [ | dispatcher html | @@ -81,7 +83,7 @@ EventInterpreterDispatcherTest >> testDefaultingToChangeHidden [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } EventInterpreterDispatcherTest >> testDefaultingToClick [ | dispatcher html | @@ -95,7 +97,7 @@ EventInterpreterDispatcherTest >> testDefaultingToClick [ '' ] -{ #category : #'tests - instance creation' } +{ #category : 'tests - instance creation' } EventInterpreterDispatcherTest >> testDefaultingToClickHidden [ | dispatcher html | @@ -109,7 +111,7 @@ EventInterpreterDispatcherTest >> testDefaultingToClickHidden [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testEventNamed [ | dispatcher html | @@ -123,7 +125,7 @@ EventInterpreterDispatcherTest >> testEventNamed [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testKeyUp [ | dispatcher html | @@ -137,7 +139,7 @@ EventInterpreterDispatcherTest >> testKeyUp [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testMouseOver [ | dispatcher html | @@ -151,7 +153,7 @@ EventInterpreterDispatcherTest >> testMouseOver [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } EventInterpreterDispatcherTest >> testTrigger [ | dispatcher html | diff --git a/source/Willow-Core-Tests/FieldSetWebViewTest.class.st b/source/Willow-Core-Tests/FieldSetWebViewTest.class.st index bcb82fc2..dd436c3d 100644 --- a/source/Willow-Core-Tests/FieldSetWebViewTest.class.st +++ b/source/Willow-Core-Tests/FieldSetWebViewTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #FieldSetWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'FieldSetWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #tests } +{ #category : 'tests' } FieldSetWebViewTest >> testRenderContentOn [ | container html | diff --git a/source/Willow-Core-Tests/FileDownloadAnchorWebViewTest.class.st b/source/Willow-Core-Tests/FileDownloadAnchorWebViewTest.class.st index e0afce49..fb52c9c1 100644 --- a/source/Willow-Core-Tests/FileDownloadAnchorWebViewTest.class.st +++ b/source/Willow-Core-Tests/FileDownloadAnchorWebViewTest.class.st @@ -2,12 +2,14 @@ A FileDownloadAnchorWebViewTest is a test class for testing the behavior of FileDownloadAnchorWebView " Class { - #name : #FileDownloadAnchorWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'FileDownloadAnchorWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } FileDownloadAnchorWebViewTest >> testRenderContentOn [ | fileDownloadAnchor html | diff --git a/source/Willow-Core-Tests/FloatCodecTest.class.st b/source/Willow-Core-Tests/FloatCodecTest.class.st index 2dac0945..611b99a8 100644 --- a/source/Willow-Core-Tests/FloatCodecTest.class.st +++ b/source/Willow-Core-Tests/FloatCodecTest.class.st @@ -2,12 +2,14 @@ A FloatCodecTest is a test class for testing the behavior of FloatCodec " Class { - #name : #FloatCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'FloatCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } FloatCodecTest >> testDecode [ self @@ -18,7 +20,7 @@ FloatCodecTest >> testDecode [ should: [FloatCodec new decode: 'xxx0.01'] raise: InstanceCreationFailed ] -{ #category : #tests } +{ #category : 'tests' } FloatCodecTest >> testEncode [ self @@ -29,7 +31,7 @@ FloatCodecTest >> testEncode [ assert: (FloatCodec new encode: -1.365) equals: '-1.365' ] -{ #category : #tests } +{ #category : 'tests' } FloatCodecTest >> testEncodingDecoding [ | codec | diff --git a/source/Willow-Core-Tests/FormSubmitCommandTest.class.st b/source/Willow-Core-Tests/FormSubmitCommandTest.class.st index 93918968..031f53b8 100644 --- a/source/Willow-Core-Tests/FormSubmitCommandTest.class.st +++ b/source/Willow-Core-Tests/FormSubmitCommandTest.class.st @@ -2,25 +2,27 @@ A FormSubmitCommandTest is a test class for testing the behavior of FormSubmitCommand " Class { - #name : #FormSubmitCommandTest, - #superclass : #BWRenderingTest, + #name : 'FormSubmitCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], #pools : [ 'Willow' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } FormSubmitCommandTest >> setUp [ super setUp. command := FormSubmitCommand findingComponentUsing: [ :canvas | canvas jQuery this ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } FormSubmitCommandTest >> testModelLoadingInstructions [ | html | @@ -45,19 +47,19 @@ FormSubmitCommandTest >> testModelLoadingInstructions [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } FormSubmitCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } FormSubmitCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } FormSubmitCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/HeadingWebViewTest.class.st b/source/Willow-Core-Tests/HeadingWebViewTest.class.st index cbc2063a..bdfd5a57 100644 --- a/source/Willow-Core-Tests/HeadingWebViewTest.class.st +++ b/source/Willow-Core-Tests/HeadingWebViewTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #HeadingWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'HeadingWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #tests } +{ #category : 'tests' } HeadingWebViewTest >> testRenderContentOn [ | container html | @@ -15,7 +17,7 @@ HeadingWebViewTest >> testRenderContentOn [ self assert: html equals: '

Header

' ] -{ #category : #tests } +{ #category : 'tests' } HeadingWebViewTest >> testRenderContentOnWithCommands [ | container html | diff --git a/source/Willow-Core-Tests/Html5ComponentSupplierTest.class.st b/source/Willow-Core-Tests/Html5ComponentSupplierTest.class.st index 0cdff5ac..bd112951 100644 --- a/source/Willow-Core-Tests/Html5ComponentSupplierTest.class.st +++ b/source/Willow-Core-Tests/Html5ComponentSupplierTest.class.st @@ -2,12 +2,14 @@ A Html5ComponentSupplierTest is a test class for testing the behavior of Html5ComponentSupplier " Class { - #name : #Html5ComponentSupplierTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'Html5ComponentSupplierTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #private } +{ #category : 'private' } Html5ComponentSupplierTest >> assertRenderingOf: aComponentCreationBlock equals: anExpectedHtml [ | component html | @@ -19,37 +21,37 @@ Html5ComponentSupplierTest >> assertRenderingOf: aComponentCreationBlock equals: self assert: html equals: anExpectedHtml ] -{ #category : #accessing } +{ #category : 'accessing' } Html5ComponentSupplierTest >> componentSupplier [ ^ Html5ComponentSupplier new ] -{ #category : #accessing } +{ #category : 'accessing' } Html5ComponentSupplierTest >> createHandlers [ ^ Array with: self ] -{ #category : #accessing } +{ #category : 'accessing' } Html5ComponentSupplierTest >> isSession [ ^ true ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testAsynchronicButtonLabeledApplying [ self assertRenderingOf: [ :supplier | supplier asynchronicButtonLabeled: 'Buy' applying: [ :button | button addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testAsynchronicLinkLabeledApplying [ self assertRenderingOf: [ :supplier | supplier asynchronicLinkLabeled: 'Buy' applying: [ :link | link addClass willow ] ] equals: 'Buy' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testCheckboxLabeledOnModelOffModelApplying [ self @@ -64,7 +66,7 @@ Html5ComponentSupplierTest >> testCheckboxLabeledOnModelOffModelApplying [ '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testCheckboxUnlabeledOnModelOffModelApplying [ self @@ -72,19 +74,19 @@ Html5ComponentSupplierTest >> testCheckboxUnlabeledOnModelOffModelApplying [ equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testDateFieldApplying [ self assertRenderingOf: [ :supplier | supplier dateFieldApplying: [ :field | field addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testDecimalNumberFieldApplying [ self assertRenderingOf: [ :supplier | supplier decimalNumberFieldApplying: [ :field | field addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testDelayedViewShowingWhileEvaluatingThenRendering [ self @@ -92,13 +94,13 @@ Html5ComponentSupplierTest >> testDelayedViewShowingWhileEvaluatingThenRendering equals: '
Loading...
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testDropdownListApplying [ self assertRenderingOf: [ :supplier | supplier dropdownListApplying: [ :dropdownList | dropdownList addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testFieldSetContainingApplyingWithLegendApplying [ self @@ -111,13 +113,13 @@ Html5ComponentSupplierTest >> testFieldSetContainingApplyingWithLegendApplying [ equals: '
Its TitleThe View
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testMultiLineTextFieldApplying [ self assertRenderingOf: [ :supplier | supplier multiLineTextFieldApplying: [ :textField | textField addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testMultipleSelectionListBoxDisplayingAtOnceApplying [ self @@ -129,13 +131,13 @@ Html5ComponentSupplierTest >> testMultipleSelectionListBoxDisplayingAtOnceApplyi equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testNaturalNumberFieldApplying [ self assertRenderingOf: [ :supplier | supplier naturalNumberFieldApplying: [ :field | field addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testRadioRenderingWithApplyingToLabelApplyingToInput [ self @@ -152,19 +154,19 @@ Html5ComponentSupplierTest >> testRadioRenderingWithApplyingToLabelApplyingToInp '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testSingleLineTextFieldApplying [ self assertRenderingOf: [ :supplier | supplier singleLineTextFieldApplying: [ :textField | textField addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testSingleSelectionListBoxDisplayingAtOnceApplying [ self assertRenderingOf: [ :supplier | supplier singleSelectionListBoxDisplayingAtOnce: 15 applying: [ :listBox | listBox addClass willow ] ] equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testSynchronicButtonLabeledApplyingEvaluating [ self @@ -176,13 +178,13 @@ Html5ComponentSupplierTest >> testSynchronicButtonLabeledApplyingEvaluating [ equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testSynchronicLinkLabeledApplying [ self assertRenderingOf: [ :supplier | supplier synchronicLinkLabeled: 'Buy' applying: [ :link | link addClass willow ] ] equals: 'Buy' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testTableBuilderForHeadlessTable [ | supplier table html | @@ -205,7 +207,7 @@ Html5ComponentSupplierTest >> testTableBuilderForHeadlessTable [ '
12
23
34
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testTableBuilderWithFooter [ | supplier table html | @@ -234,7 +236,7 @@ Html5ComponentSupplierTest >> testTableBuilderWithFooter [ '
NumberEven?
1false
2true
3false
Fixed Footer
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testTableBuilderWithRowCommand [ | supplier table html | @@ -256,7 +258,7 @@ Html5ComponentSupplierTest >> testTableBuilderWithRowCommand [ '
1
2
3
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testTableBuilderWithSimpleColumns [ | supplier table html | @@ -284,7 +286,7 @@ Html5ComponentSupplierTest >> testTableBuilderWithSimpleColumns [ '
NumberEven?
1false
2true
3false
' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testTimeFieldApplying [ self @@ -292,7 +294,7 @@ Html5ComponentSupplierTest >> testTimeFieldApplying [ equals: '' ] -{ #category : #'tests-Supplying' } +{ #category : 'tests-Supplying' } Html5ComponentSupplierTest >> testUnorderedListApplyingListingApplyingToEach [ self @@ -300,7 +302,7 @@ Html5ComponentSupplierTest >> testUnorderedListApplyingListingApplyingToEach [ equals: '' ] -{ #category : #'tests-Processing' } +{ #category : 'tests-Processing' } Html5ComponentSupplierTest >> testUpdateRoot [ | html | diff --git a/source/Willow-Core-Tests/ISODateCodecTest.class.st b/source/Willow-Core-Tests/ISODateCodecTest.class.st index 363def9f..84403d35 100644 --- a/source/Willow-Core-Tests/ISODateCodecTest.class.st +++ b/source/Willow-Core-Tests/ISODateCodecTest.class.st @@ -2,18 +2,20 @@ A ISODateCodecTest is a test class for testing the behavior of ISODateCodec " Class { - #name : #ISODateCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ISODateCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'private - asserting' } +{ #category : 'private - asserting' } ISODateCodecTest >> should: aBlock failBecause: anExplanation [ self should: aBlock raise: InstanceCreationFailed withMessageText: anExplanation ] -{ #category : #tests } +{ #category : 'tests' } ISODateCodecTest >> testCanCreate [ self @@ -22,7 +24,7 @@ ISODateCodecTest >> testCanCreate [ deny: ( ISODateCodec new canCreate: '01/01/2001' ) ] -{ #category : #tests } +{ #category : 'tests' } ISODateCodecTest >> testCantDecodeDate [ self @@ -38,7 +40,7 @@ ISODateCodecTest >> testCantDecodeDate [ should: [ ISODateCodec new decode: '2020/12/11' ] failBecause: '' ] -{ #category : #tests } +{ #category : 'tests' } ISODateCodecTest >> testDecode [ self @@ -46,7 +48,7 @@ ISODateCodecTest >> testDecode [ equals: ( Date newDay: 11 month: 12 year: 2010 ) ] -{ #category : #tests } +{ #category : 'tests' } ISODateCodecTest >> testEncode [ self diff --git a/source/Willow-Core-Tests/ISOTimeCodecTest.class.st b/source/Willow-Core-Tests/ISOTimeCodecTest.class.st index 4e044b33..1ea5cc5a 100644 --- a/source/Willow-Core-Tests/ISOTimeCodecTest.class.st +++ b/source/Willow-Core-Tests/ISOTimeCodecTest.class.st @@ -2,18 +2,20 @@ An ISOTimeCodecTest is a test class for testing the behavior of ISOTimeCodec " Class { - #name : #ISOTimeCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ISOTimeCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'private - asserting' } +{ #category : 'private - asserting' } ISOTimeCodecTest >> should: aBlock failBecause: anExplanation [ self should: aBlock raise: InstanceCreationFailed withMessageText: anExplanation ] -{ #category : #tests } +{ #category : 'tests' } ISOTimeCodecTest >> testCanCreate [ self @@ -21,7 +23,7 @@ ISOTimeCodecTest >> testCanCreate [ deny: ( ISOTimeCodec new canCreate: '11.03.55' ) ] -{ #category : #tests } +{ #category : 'tests' } ISOTimeCodecTest >> testCantDecodeTime [ self @@ -45,7 +47,7 @@ ISOTimeCodecTest >> testCantDecodeTime [ should: [ ISOTimeCodec new decode: '11:03:55 PM' ] failBecause: 'Invalid time format' ] -{ #category : #tests } +{ #category : 'tests' } ISOTimeCodecTest >> testDecode [ self @@ -53,7 +55,7 @@ ISOTimeCodecTest >> testDecode [ equals: ( Time hour: 11 minute: 03 second: 55 ) ] -{ #category : #tests } +{ #category : 'tests' } ISOTimeCodecTest >> testEncode [ self diff --git a/source/Willow-Core-Tests/ImageWebViewTest.class.st b/source/Willow-Core-Tests/ImageWebViewTest.class.st index cfaaa168..6d876fd8 100644 --- a/source/Willow-Core-Tests/ImageWebViewTest.class.st +++ b/source/Willow-Core-Tests/ImageWebViewTest.class.st @@ -2,12 +2,40 @@ An ImageWebViewTest is a test class for testing the behavior of ImageWebView " Class { - #name : #ImageWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'ImageWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } +ImageWebViewTest >> testBeIdentifiable [ + + | image html | + + image := ImageWebView locatedAt: 'ok.png' applying: [ :theImage | ]. + image beIdentifiable. + html := self render: image. + self assert: html equals: '' +] + +{ #category : 'tests-rendering' } +ImageWebViewTest >> testIdentifierOn [ + + | image html | + + image := ImageWebView locatedAt: 'ok.png' applying: [ :theImage | ]. + + html := self renderUsing: [ :canvas | + self assert: ( image identifierOn: canvas ) equals: 'image-id1'. + canvas render: image + ]. + + self assert: html equals: '' +] + +{ #category : 'tests-rendering' } ImageWebViewTest >> testOn [ | image html | @@ -19,35 +47,39 @@ ImageWebViewTest >> testOn [ self assert: html equals: - '' + '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } ImageWebViewTest >> testRenderContentOn [ | image html | - image := ImageWebView locatedAt: 'ok.png' applying: (ComponentErrorCommand toActUsing: [ :canvas | (JSStream this access: 'src') assign: 'ok.jpg' ]). + image := ImageWebView + locatedAt: 'ok.png' + applying: + ( ComponentErrorCommand toActUsing: [ :canvas | + ( JSStream this access: 'src' ) assign: 'ok.jpg' ] ). html := self render: image. self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } ImageWebViewTest >> testofTypeBase64EncodedAsApplying [ | image html | image := ImageWebView - ofType: WAMimeType imagePng - base64EncodedAs: - 'iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAGU0lEQVR4nO1dy1HrMBR1CZRACZ7IBaQEOoAOHh1ACewkswkdkA6SDmAtecZ0kHTAW8QOwcjSPbEVXTs6M968h6/te3S/+iTLEhISEhISZo5c1reirO6L0jwJZd4LZTZC6bpQ5vv0av5tI5R5L0rzJMrqPpf1bez3nwVEWd0LpVc2xaOXULoWSq9EWd3H/q5JoZBmeSDB7PqVa/ZCVS8LqR8aa9g1f79ZSP0gVPUipPly3L8TSq/yV53H/l62KKRZFspsnKNcmq+F1A9ZlmX5qr4plP6wWULrokRZ3RXSbD3WsymkWUb8dF7IZX3rJUKZ/aI0j6f32cj4ufRHvqpv2r89WI3Z+4i56liTr+qbojRPBN//2XUthTTP3rghzfOf5/mt5bsozdNFFcEB+avO3SP8aBnr05GeZQfFuuLL6WUb8ULqN/+9+uNqrKVxH16FCqnfbPeTrMMjY1GaR8Jg2Imyugupi+gQSv8bosiDDJp1tErtWthRDslSzHebRMwOQukVSZHSbPtkNGkuiYyjQjvJwK93IpIilF4FUUosUMkQ0nz1jeiDHLNGCSmU/vC82+dVkYKMalehdqg7UDIauY4A3SQJvpR4Hu4LcjGdNHWQLFCRoqzuqLImG+jzV51TA7BQ+tMnj+rv7fLN2iuf6A6FMrvJpcR9bQ2HdSx9Moc0GIUyO+87HzoGRJnuuMQOUK1AGL2YsnriCKGRiLy3z8WyAao8ivkjPr7vogRkJMBT3z06Ck+j8Jd1OArAXzKRkdtridUL5VlgrNoMUlZoNC10uqKIbW9SU9D/rC3lWbB75Ny6h6yDkFm1GGfG0B/Yf54HFaA8rQS1DldL44/sodbRXK4uwCnQmoflzCNaJ1CVA7vBkdwLEtypsfCiQLqwVH+eZVEJIbstxB1eBKiJQ+5qhAzrhJDnYN/Eqc8FuyvA58YiBM22WLktNAuCZA/oYQ1VGhRHlK4hpYXCGXn7FpE/Sg1yoWezqNzhtjjYA4pMCOQuWcQR+KWBgN7Ij0YIZTHEkMEWBPC0KthqgNJpz4Wmp2jKTelcBwc8gkFCRrOO5gK/De3NbRH5QRAyw8qyuISgz2eRaXFSCIfno/JHBzeFxH4+Kn90cFNI7Oej8keHa2PMtREipPlC5Y8OuJoltt2P8iMSEroLEQQp7WVGCNz8QwmJ2zrBCkMOHd/Q7YVJ9bLAtlAQHHZDAaOIuBynRUxChKpeEPls5taReYPQSollnUKZPSI7KNAGIyI71oxhlqFtEwaNxRZnxJElVXa0RQ7g8lUW8aMFuiYWiSNojHJdiI9HXKVQZo/WV8GBpL9oV3QsQqDvUbomfw+HdLcLeJUGsBPpkmt7swx3Vyzm0m2AshJgVI2RaSFuEip2OVTnfUADMHVkjbE/hGqR8P4WLrVHH6BYQrSSITtwYfKhWIgVuVEQahcSdT+5nXhaWxyxDpaZVR+QukQo806ROSSOhNg9xaruoACq3gkF26B6hCAfiX+sqnIq8lV9Q51NFErXFPNHZydb10J5X+o2bt/xH6wBjWpCn+kct0VJHJB+GfusygfweI2lS9ZZbmtEmSzW7o4B4Bgkr+tC3JYvuzpkhLoey9ImBTop7qwL6ix73CD92KiZkZFlx9FIqiVcKSVSJLpqHKorRbZvTw4IKa7gSbE2V2pKPalIKP052YyKCioprnhCqRn6elfUk4qugowWgKX0npLgPErcEcybg/wTGV1QSemLJ87g3hPMKXHjKsloQSXFFk9cTUxbMKfEjasmowXtCHD7CW624N4XzH1xw3aK9lXDmzlZ3JAtuNuCua81Mss6Ywz4SLGf5f4T3G2NxFzWt87fIklkuOEixaa804aj9f9BeQkWuJTYtZJTt9V1V64ZwEQGiL4JLruVmL3NXfURm8g4A30psW3zfyHN1rYcxxY7Umo7AH21Rtc1FdI8d7Mw29KhSS1M4ArrmiyL8q0kEVLihDPwp3DsuKdCmmV3ZtB3T8IAXHLlYgIBo6xcTLFjXEDb5izBPPb7zw7EH4e0kjGb1SIJCQlTAfUHKW2VfXJZATDk7EV2R4HPAUPT3tjvPzskQpghEcIMiRBmSIQwQyKEGVIvixnO++nuIyHT26TJHUN24U5+XyBXNOtz1xT31axEWScyEhISEhKuBf8Bk3cZAXivosAAAAAASUVORK5CYII=' - applying: [ :theImage | ]. + ofType: WAMimeType imagePng + base64EncodedAs: + 'iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAGU0lEQVR4nO1dy1HrMBR1CZRACZ7IBaQEOoAOHh1ACewkswkdkA6SDmAtecZ0kHTAW8QOwcjSPbEVXTs6M968h6/te3S/+iTLEhISEhISZo5c1reirO6L0jwJZd4LZTZC6bpQ5vv0av5tI5R5L0rzJMrqPpf1bez3nwVEWd0LpVc2xaOXULoWSq9EWd3H/q5JoZBmeSDB7PqVa/ZCVS8LqR8aa9g1f79ZSP0gVPUipPly3L8TSq/yV53H/l62KKRZFspsnKNcmq+F1A9ZlmX5qr4plP6wWULrokRZ3RXSbD3WsymkWUb8dF7IZX3rJUKZ/aI0j6f32cj4ufRHvqpv2r89WI3Z+4i56liTr+qbojRPBN//2XUthTTP3rghzfOf5/mt5bsozdNFFcEB+avO3SP8aBnr05GeZQfFuuLL6WUb8ULqN/+9+uNqrKVxH16FCqnfbPeTrMMjY1GaR8Jg2Imyugupi+gQSv8bosiDDJp1tErtWthRDslSzHebRMwOQukVSZHSbPtkNGkuiYyjQjvJwK93IpIilF4FUUosUMkQ0nz1jeiDHLNGCSmU/vC82+dVkYKMalehdqg7UDIauY4A3SQJvpR4Hu4LcjGdNHWQLFCRoqzuqLImG+jzV51TA7BQ+tMnj+rv7fLN2iuf6A6FMrvJpcR9bQ2HdSx9Moc0GIUyO+87HzoGRJnuuMQOUK1AGL2YsnriCKGRiLy3z8WyAao8ivkjPr7vogRkJMBT3z06Ck+j8Jd1OArAXzKRkdtridUL5VlgrNoMUlZoNC10uqKIbW9SU9D/rC3lWbB75Ny6h6yDkFm1GGfG0B/Yf54HFaA8rQS1DldL44/sodbRXK4uwCnQmoflzCNaJ1CVA7vBkdwLEtypsfCiQLqwVH+eZVEJIbstxB1eBKiJQ+5qhAzrhJDnYN/Eqc8FuyvA58YiBM22WLktNAuCZA/oYQ1VGhRHlK4hpYXCGXn7FpE/Sg1yoWezqNzhtjjYA4pMCOQuWcQR+KWBgN7Ij0YIZTHEkMEWBPC0KthqgNJpz4Wmp2jKTelcBwc8gkFCRrOO5gK/De3NbRH5QRAyw8qyuISgz2eRaXFSCIfno/JHBzeFxH4+Kn90cFNI7Oej8keHa2PMtREipPlC5Y8OuJoltt2P8iMSEroLEQQp7WVGCNz8QwmJ2zrBCkMOHd/Q7YVJ9bLAtlAQHHZDAaOIuBynRUxChKpeEPls5taReYPQSollnUKZPSI7KNAGIyI71oxhlqFtEwaNxRZnxJElVXa0RQ7g8lUW8aMFuiYWiSNojHJdiI9HXKVQZo/WV8GBpL9oV3QsQqDvUbomfw+HdLcLeJUGsBPpkmt7swx3Vyzm0m2AshJgVI2RaSFuEip2OVTnfUADMHVkjbE/hGqR8P4WLrVHH6BYQrSSITtwYfKhWIgVuVEQahcSdT+5nXhaWxyxDpaZVR+QukQo806ROSSOhNg9xaruoACq3gkF26B6hCAfiX+sqnIq8lV9Q51NFErXFPNHZydb10J5X+o2bt/xH6wBjWpCn+kct0VJHJB+GfusygfweI2lS9ZZbmtEmSzW7o4B4Bgkr+tC3JYvuzpkhLoey9ImBTop7qwL6ix73CD92KiZkZFlx9FIqiVcKSVSJLpqHKorRbZvTw4IKa7gSbE2V2pKPalIKP052YyKCioprnhCqRn6elfUk4qugowWgKX0npLgPErcEcybg/wTGV1QSemLJ87g3hPMKXHjKsloQSXFFk9cTUxbMKfEjasmowXtCHD7CW624N4XzH1xw3aK9lXDmzlZ3JAtuNuCua81Mss6Ywz4SLGf5f4T3G2NxFzWt87fIklkuOEixaa804aj9f9BeQkWuJTYtZJTt9V1V64ZwEQGiL4JLruVmL3NXfURm8g4A30psW3zfyHN1rYcxxY7Umo7AH21Rtc1FdI8d7Mw29KhSS1M4ArrmiyL8q0kEVLihDPwp3DsuKdCmmV3ZtB3T8IAXHLlYgIBo6xcTLFjXEDb5izBPPb7zw7EH4e0kjGb1SIJCQlTAfUHKW2VfXJZATDk7EV2R4HPAUPT3tjvPzskQpghEcIMiRBmSIQwQyKEGVIvixnO++nuIyHT26TJHUN24U5+XyBXNOtz1xT31axEWScyEhISEhKuBf8Bk3cZAXivosAAAAAASUVORK5CYII=' + applying: [ :theImage | ]. html := self render: image. self assert: html equals: - '' + '' ] diff --git a/source/Willow-Core-Tests/InputFieldMaxLengthCommandTest.class.st b/source/Willow-Core-Tests/InputFieldMaxLengthCommandTest.class.st index 7f6930d5..48c744ae 100644 --- a/source/Willow-Core-Tests/InputFieldMaxLengthCommandTest.class.st +++ b/source/Willow-Core-Tests/InputFieldMaxLengthCommandTest.class.st @@ -2,12 +2,14 @@ An InputFieldMaxLengthCommandTest is a test class for testing the behavior of InputFieldMaxLengthCommand " Class { - #name : #InputFieldMaxLengthCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'InputFieldMaxLengthCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } InputFieldMaxLengthCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/InputModeCommandTest.class.st b/source/Willow-Core-Tests/InputModeCommandTest.class.st index 353adcb7..af97f8fa 100644 --- a/source/Willow-Core-Tests/InputModeCommandTest.class.st +++ b/source/Willow-Core-Tests/InputModeCommandTest.class.st @@ -2,12 +2,14 @@ A DateInputModeCommandTest is a test class for testing the behavior of DateInputModeCommand " Class { - #name : #InputModeCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'InputModeCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } InputModeCommandTest >> testApplyDateInputCommand [ | html | @@ -17,7 +19,7 @@ InputModeCommandTest >> testApplyDateInputCommand [ self assert: html equals: (self renderUsing: [ :canvas | canvas dateInput5 ]) ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } InputModeCommandTest >> testApplyNumberInputCommand [ | html | @@ -27,7 +29,7 @@ InputModeCommandTest >> testApplyNumberInputCommand [ self assert: html equals: (self renderUsing: [ :canvas | canvas numberInput ]) ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } InputModeCommandTest >> testApplyPasswordInputCommand [ | html | @@ -37,7 +39,7 @@ InputModeCommandTest >> testApplyPasswordInputCommand [ self assert: html equals: '' ] -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } InputModeCommandTest >> testApplyTimeInputCommand [ | html | diff --git a/source/Willow-Core-Tests/IntegerCodecTest.class.st b/source/Willow-Core-Tests/IntegerCodecTest.class.st index bf296b14..400d4238 100644 --- a/source/Willow-Core-Tests/IntegerCodecTest.class.st +++ b/source/Willow-Core-Tests/IntegerCodecTest.class.st @@ -2,12 +2,14 @@ An IntegerCodecTest is a test class for testing the behavior of IntegerCodec " Class { - #name : #IntegerCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'IntegerCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } IntegerCodecTest >> testCanCreate [ self @@ -18,7 +20,7 @@ IntegerCodecTest >> testCanCreate [ deny: (IntegerCodec new canCreate: 1 / 2) ] -{ #category : #tests } +{ #category : 'tests' } IntegerCodecTest >> testDecode [ self @@ -28,7 +30,7 @@ IntegerCodecTest >> testDecode [ assert: (IntegerCodec new decode: 'frula') equals: 0 ] -{ #category : #tests } +{ #category : 'tests' } IntegerCodecTest >> testEncode [ self diff --git a/source/Willow-Core-Tests/JQuery3DeploymentMetadataLibraryTest.class.st b/source/Willow-Core-Tests/JQuery3DeploymentMetadataLibraryTest.class.st index b2f67e77..808ab35a 100644 --- a/source/Willow-Core-Tests/JQuery3DeploymentMetadataLibraryTest.class.st +++ b/source/Willow-Core-Tests/JQuery3DeploymentMetadataLibraryTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #JQuery3DeploymentMetadataLibraryTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Libraries' + #name : 'JQuery3DeploymentMetadataLibraryTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Libraries', + #package : 'Willow-Core-Tests', + #tag : 'Libraries' } -{ #category : #tests } +{ #category : 'tests' } JQuery3DeploymentMetadataLibraryTest >> testDeployFiles [ self @@ -15,7 +17,7 @@ JQuery3DeploymentMetadataLibraryTest >> testDeployFiles [ 'jQuery-3.7.0/jquery-3.7.0.min.map' -> 'f0a09c945cbc5407aff55492303806a1f8fda6d0' } ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DeploymentMetadataLibraryTest >> testHandlesFolder [ self @@ -23,7 +25,7 @@ JQuery3DeploymentMetadataLibraryTest >> testHandlesFolder [ deny: ( JQuery3DeploymentMetadataLibrary handlesFolder: #files ) ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DeploymentMetadataLibraryTest >> testIsForDeployment [ self @@ -31,7 +33,7 @@ JQuery3DeploymentMetadataLibraryTest >> testIsForDeployment [ deny: JQuery3DeploymentMetadataLibrary isForDevelopment ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DeploymentMetadataLibraryTest >> testUpdateRoot [ | html | diff --git a/source/Willow-Core-Tests/JQuery3DevelopmentMetadataLibraryTest.class.st b/source/Willow-Core-Tests/JQuery3DevelopmentMetadataLibraryTest.class.st index 0d4e15ce..09329909 100644 --- a/source/Willow-Core-Tests/JQuery3DevelopmentMetadataLibraryTest.class.st +++ b/source/Willow-Core-Tests/JQuery3DevelopmentMetadataLibraryTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #JQuery3DevelopmentMetadataLibraryTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Libraries' + #name : 'JQuery3DevelopmentMetadataLibraryTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Libraries', + #package : 'Willow-Core-Tests', + #tag : 'Libraries' } -{ #category : #tests } +{ #category : 'tests' } JQuery3DevelopmentMetadataLibraryTest >> testDeployFiles [ self @@ -14,7 +16,7 @@ JQuery3DevelopmentMetadataLibraryTest >> testDeployFiles [ { 'jQuery-3.7.0/jquery-3.7.0.js' -> 'f72c77bf5b5ddd507be4a34302820cb387866afe' } ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DevelopmentMetadataLibraryTest >> testHandlesFolder [ self @@ -22,7 +24,7 @@ JQuery3DevelopmentMetadataLibraryTest >> testHandlesFolder [ deny: ( JQuery3DevelopmentMetadataLibrary handlesFolder: #files ) ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DevelopmentMetadataLibraryTest >> testIsForDevelopment [ self @@ -30,7 +32,7 @@ JQuery3DevelopmentMetadataLibraryTest >> testIsForDevelopment [ deny: JQuery3DevelopmentMetadataLibrary isForDeployment ] -{ #category : #tests } +{ #category : 'tests' } JQuery3DevelopmentMetadataLibraryTest >> testUpdateRoot [ | html | diff --git a/source/Willow-Core-Tests/JQuery3FileMetadataLibraryTest.class.st b/source/Willow-Core-Tests/JQuery3FileMetadataLibraryTest.class.st index 7fde6d25..9189a552 100644 --- a/source/Willow-Core-Tests/JQuery3FileMetadataLibraryTest.class.st +++ b/source/Willow-Core-Tests/JQuery3FileMetadataLibraryTest.class.st @@ -1,34 +1,36 @@ Class { - #name : #JQuery3FileMetadataLibraryTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Libraries' + #name : 'JQuery3FileMetadataLibraryTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Libraries', + #package : 'Willow-Core-Tests', + #tag : 'Libraries' } -{ #category : #tests } +{ #category : 'tests' } JQuery3FileMetadataLibraryTest >> testForDeployment [ self assert: JQuery3MetadataLibrary forDeployment equals: JQuery3DeploymentMetadataLibrary ] -{ #category : #tests } +{ #category : 'tests' } JQuery3FileMetadataLibraryTest >> testForDevelopment [ self assert: JQuery3MetadataLibrary forDevelopment equals: JQuery3DevelopmentMetadataLibrary ] -{ #category : #tests } +{ #category : 'tests' } JQuery3FileMetadataLibraryTest >> testLibraryName [ self assert: JQuery3MetadataLibrary libraryName equals: 'jQuery' ] -{ #category : #tests } +{ #category : 'tests' } JQuery3FileMetadataLibraryTest >> testVersion [ self assert: JQuery3MetadataLibrary version equals: '3.7.0' ] -{ #category : #tests } +{ #category : 'tests' } JQuery3FileMetadataLibraryTest >> testVersionCompatibility [ self diff --git a/source/Willow-Core-Tests/JQuery3OnlineLibraryTest.class.st b/source/Willow-Core-Tests/JQuery3OnlineLibraryTest.class.st index ea6052a6..33025fdf 100644 --- a/source/Willow-Core-Tests/JQuery3OnlineLibraryTest.class.st +++ b/source/Willow-Core-Tests/JQuery3OnlineLibraryTest.class.st @@ -2,12 +2,14 @@ A JQuery3OnlineLibraryTest is a test class for testing the behavior of JQuery3OnlineLibrary " Class { - #name : #JQuery3OnlineLibraryTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Libraries' + #name : 'JQuery3OnlineLibraryTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Libraries', + #package : 'Willow-Core-Tests', + #tag : 'Libraries' } -{ #category : #'tests-updating' } +{ #category : 'tests-updating' } JQuery3OnlineLibraryTest >> testUpdateRoot [ | html | diff --git a/source/Willow-Core-Tests/LabeledWebViewTest.class.st b/source/Willow-Core-Tests/LabeledWebViewTest.class.st index cc3add7a..12f62e0d 100644 --- a/source/Willow-Core-Tests/LabeledWebViewTest.class.st +++ b/source/Willow-Core-Tests/LabeledWebViewTest.class.st @@ -2,12 +2,14 @@ A LabeledWebViewTest is a test class for testing the behavior of LabeledWebView " Class { - #name : #LabeledWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'LabeledWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #tests } +{ #category : 'tests' } LabeledWebViewTest >> testRenderContentOnWithDynamicLabel [ | labeledView html label | @@ -27,7 +29,7 @@ LabeledWebViewTest >> testRenderContentOnWithDynamicLabel [ '' ] -{ #category : #tests } +{ #category : 'tests' } LabeledWebViewTest >> testRenderContentOnWithFixedLabel [ | labeledView html | @@ -44,7 +46,7 @@ LabeledWebViewTest >> testRenderContentOnWithFixedLabel [ equals: '' ] -{ #category : #tests } +{ #category : 'tests' } LabeledWebViewTest >> testRenderContentOnWithFixedLabelAndCommands [ | labeledView html | diff --git a/source/Willow-Core-Tests/LinkWebViewTest.class.st b/source/Willow-Core-Tests/LinkWebViewTest.class.st index 472e8781..87b96d05 100644 --- a/source/Willow-Core-Tests/LinkWebViewTest.class.st +++ b/source/Willow-Core-Tests/LinkWebViewTest.class.st @@ -2,12 +2,14 @@ An AsynchronicLinkWebViewTest is a test class for testing the behavior of AsynchronicLinkWebView " Class { - #name : #LinkWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'LinkWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } LinkWebViewTest >> testAsynchronicLabeledApplying [ | html link | @@ -23,7 +25,7 @@ LinkWebViewTest >> testAsynchronicLabeledApplying [ 'Click me!' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } LinkWebViewTest >> testOn [ | html link | @@ -38,7 +40,7 @@ LinkWebViewTest >> testOn [ 'Click me!' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } LinkWebViewTest >> testRenderContentOn [ | html link | @@ -49,7 +51,7 @@ LinkWebViewTest >> testRenderContentOn [ self assert: html equals: 'Click me!' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } LinkWebViewTest >> testSynchronicLabeledApplying [ | html link | diff --git a/source/Willow-Core-Tests/ListItemWebViewTest.class.st b/source/Willow-Core-Tests/ListItemWebViewTest.class.st index 0a09b301..2b98ad24 100644 --- a/source/Willow-Core-Tests/ListItemWebViewTest.class.st +++ b/source/Willow-Core-Tests/ListItemWebViewTest.class.st @@ -2,12 +2,14 @@ A ListItemWebViewTest is a test class for testing the behavior of ListItemWebView " Class { - #name : #ListItemWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'ListItemWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } ListItemWebViewTest >> testRenderContentOn [ | html | @@ -22,7 +24,7 @@ ListItemWebViewTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } ListItemWebViewTest >> testRenderContentOnWithCommands [ | html | diff --git a/source/Willow-Core-Tests/ListLabelingCommandTest.class.st b/source/Willow-Core-Tests/ListLabelingCommandTest.class.st index 48382305..8839b353 100644 --- a/source/Willow-Core-Tests/ListLabelingCommandTest.class.st +++ b/source/Willow-Core-Tests/ListLabelingCommandTest.class.st @@ -2,12 +2,14 @@ A ListLabelingCommandTest is a test class for testing the behavior of ListLabelingCommand " Class { - #name : #ListLabelingCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ListLabelingCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } ListLabelingCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/LoadingNotificationCommandTest.class.st b/source/Willow-Core-Tests/LoadingNotificationCommandTest.class.st index 1278f444..c224ffef 100644 --- a/source/Willow-Core-Tests/LoadingNotificationCommandTest.class.st +++ b/source/Willow-Core-Tests/LoadingNotificationCommandTest.class.st @@ -2,12 +2,14 @@ A LoadingNotificationCommandTest is a test class for testing the behavior of LoadingNotificationCommand " Class { - #name : #LoadingNotificationCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'LoadingNotificationCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> renderedContentUsingPriorityActionsOf: aCommand [ ^ self @@ -23,7 +25,7 @@ LoadingNotificationCommandTest >> renderedContentUsingPriorityActionsOf: aComman ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testModelLoadingActionsWithCustomView [ | command | @@ -33,7 +35,7 @@ LoadingNotificationCommandTest >> testModelLoadingActionsWithCustomView [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testModelLoadingInstructions [ | command | @@ -43,35 +45,39 @@ LoadingNotificationCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testPriorityActions [ | command html | - - command := LoadingNotificationCommand onPageTopWithClasses: #(). - + + command := LoadingNotificationCommand onPageTopWithClasses: #( ). + html := self renderedContentUsingPriorityActionsOf: command. self assert: html - equals: '' + equals: + '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testPriorityActionsWithCustomView [ | command html | - - command := LoadingNotificationCommand displaying: [ :canvas | canvas span: 'Processing...' ] applying: [ :div | div addClass loading ]. - + + command := LoadingNotificationCommand + displaying: [ :canvas | canvas span: 'Processing...' ] + applying: [ :div | div addClass loading ]. + html := self renderedContentUsingPriorityActionsOf: command. self assert: html - equals: '' + equals: + '' ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } LoadingNotificationCommandTest >> testRequiresSerialization [ | command | @@ -81,7 +87,7 @@ LoadingNotificationCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } LoadingNotificationCommandTest >> testRequiresSerializationWithCustomView [ | command | @@ -91,7 +97,7 @@ LoadingNotificationCommandTest >> testRequiresSerializationWithCustomView [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testServerIndependentActionsWithCustomVIew [ | command | @@ -101,7 +107,7 @@ LoadingNotificationCommandTest >> testServerIndependentActionsWithCustomVIew [ self assert: command serverIndependentInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } LoadingNotificationCommandTest >> testServerIndependentInstructions [ | command | diff --git a/source/Willow-Core-Tests/MultipleSelectionListBoxWebViewTest.class.st b/source/Willow-Core-Tests/MultipleSelectionListBoxWebViewTest.class.st index b2d4b7f1..fc4c9da6 100644 --- a/source/Willow-Core-Tests/MultipleSelectionListBoxWebViewTest.class.st +++ b/source/Willow-Core-Tests/MultipleSelectionListBoxWebViewTest.class.st @@ -2,27 +2,29 @@ A MultipleSelectionListBoxWebViewTest is a test class for testing the behavior of MultipleSelectionListBoxWebView " Class { - #name : #MultipleSelectionListBoxWebViewTest, - #superclass : #BWRenderingTest, + #name : 'MultipleSelectionListBoxWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } MultipleSelectionListBoxWebViewTest >> changeNotifiedBy: aDropDownListWebView [ notificationWasReceived := true ] -{ #category : #support } +{ #category : 'support' } MultipleSelectionListBoxWebViewTest >> newListBox [ ^ MultipleSelectionListBoxWebView applying: [ :listBox | ] ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testAllowsAnySatisfying [ | listBox | @@ -38,7 +40,7 @@ MultipleSelectionListBoxWebViewTest >> testAllowsAnySatisfying [ deny: (listBox allowsAnySatisfying: [ :element | element isZero ]) ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } MultipleSelectionListBoxWebViewTest >> testBeIdentifiable [ | listBox html | @@ -53,7 +55,7 @@ MultipleSelectionListBoxWebViewTest >> testBeIdentifiable [ equals: '' ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testChooseAll [ | listBox | @@ -79,7 +81,7 @@ MultipleSelectionListBoxWebViewTest >> testChooseAll [ assert: listBox currentSelection equals: #(2 4 3 1) ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testChooseAllIn [ | listBox | @@ -100,7 +102,7 @@ MultipleSelectionListBoxWebViewTest >> testChooseAllIn [ self assert: listBox currentSelection equals: #(1) ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testChooseAllInWhenNotAvailable [ | listBox | @@ -121,7 +123,7 @@ MultipleSelectionListBoxWebViewTest >> testChooseAllInWhenNotAvailable [ self assert: listBox currentSelection isEmpty ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testChooseAllMatching [ | listBox | @@ -133,7 +135,7 @@ MultipleSelectionListBoxWebViewTest >> testChooseAllMatching [ self assert: listBox currentSelection equals: #(2 4) ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } MultipleSelectionListBoxWebViewTest >> testIdentifierOn [ | listBox html | @@ -151,7 +153,7 @@ MultipleSelectionListBoxWebViewTest >> testIdentifierOn [ equals: '' ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testNotifyChangesTo [ | singleSelectionView | @@ -165,7 +167,7 @@ MultipleSelectionListBoxWebViewTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testNotifyChangesWhenSelectionChanged [ | listBox | @@ -182,7 +184,7 @@ MultipleSelectionListBoxWebViewTest >> testNotifyChangesWhenSelectionChanged [ self assert: notificationWasReceived ] -{ #category : #'tests-Multiple Selection-API' } +{ #category : 'tests-Multiple Selection-API' } MultipleSelectionListBoxWebViewTest >> testNotifyChangesWhenSelectionDoesNotChange [ | listBox | @@ -200,7 +202,7 @@ MultipleSelectionListBoxWebViewTest >> testNotifyChangesWhenSelectionDoesNotChan assert: listBox currentSelection isEmpty ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } MultipleSelectionListBoxWebViewTest >> testOn [ | listBox html | @@ -216,7 +218,7 @@ MultipleSelectionListBoxWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } MultipleSelectionListBoxWebViewTest >> testRenderContentOn [ | listBox html | @@ -228,7 +230,7 @@ MultipleSelectionListBoxWebViewTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } MultipleSelectionListBoxWebViewTest >> testRenderContentOnWithCommands [ | listBox html | @@ -239,7 +241,7 @@ MultipleSelectionListBoxWebViewTest >> testRenderContentOnWithCommands [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } MultipleSelectionListBoxWebViewTest >> testRenderContentOnWithElements [ | listBox html | @@ -251,7 +253,7 @@ MultipleSelectionListBoxWebViewTest >> testRenderContentOnWithElements [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } MultipleSelectionListBoxWebViewTest >> testRenderContentOnWithElementsAndSomethingSelected [ | listBox html | diff --git a/source/Willow-Core-Tests/NaturalNumberCodecTest.class.st b/source/Willow-Core-Tests/NaturalNumberCodecTest.class.st index 4b6eeac7..02c024f2 100644 --- a/source/Willow-Core-Tests/NaturalNumberCodecTest.class.st +++ b/source/Willow-Core-Tests/NaturalNumberCodecTest.class.st @@ -2,12 +2,14 @@ A NaturalNumberCodecTest is a test class for testing the behavior of NaturalNumberCodec " Class { - #name : #NaturalNumberCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'NaturalNumberCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-converting' } +{ #category : 'tests-converting' } NaturalNumberCodecTest >> testCanCreate [ self @@ -18,7 +20,7 @@ NaturalNumberCodecTest >> testCanCreate [ deny: (NaturalNumberCodec new canCreate: 1 / 2) ] -{ #category : #'tests-converting' } +{ #category : 'tests-converting' } NaturalNumberCodecTest >> testDecode [ self @@ -30,7 +32,7 @@ NaturalNumberCodecTest >> testDecode [ should: [ NaturalNumberCodec new decode: 'frula' ] raise: InstanceCreationFailed ] -{ #category : #'tests-converting' } +{ #category : 'tests-converting' } NaturalNumberCodecTest >> testEncode [ self diff --git a/source/Willow-Core-Tests/NullCodecTest.class.st b/source/Willow-Core-Tests/NullCodecTest.class.st index 4f29da61..fb22cf74 100644 --- a/source/Willow-Core-Tests/NullCodecTest.class.st +++ b/source/Willow-Core-Tests/NullCodecTest.class.st @@ -2,12 +2,14 @@ An NullCodecTest is a test class for testing the behavior of NullCodec " Class { - #name : #NullCodecTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'NullCodecTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } NullCodecTest >> testCanCreate [ self @@ -16,7 +18,7 @@ NullCodecTest >> testCanCreate [ deny: (NullCodec new canCreate: 0) ] -{ #category : #tests } +{ #category : 'tests' } NullCodecTest >> testDecode [ self @@ -24,7 +26,7 @@ NullCodecTest >> testDecode [ assert: (NullCodec new decode: 'hello') equals: 'hello' ] -{ #category : #tests } +{ #category : 'tests' } NullCodecTest >> testEncode [ self diff --git a/source/Willow-Core-Tests/NullTriggeringPolicyTest.class.st b/source/Willow-Core-Tests/NullTriggeringPolicyTest.class.st index 808ea46a..fe4636e6 100644 --- a/source/Willow-Core-Tests/NullTriggeringPolicyTest.class.st +++ b/source/Willow-Core-Tests/NullTriggeringPolicyTest.class.st @@ -2,12 +2,14 @@ A NullTriggeringPolicyTest is a test class for testing the behavior of NullTriggeringPolicy " Class { - #name : #NullTriggeringPolicyTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'NullTriggeringPolicyTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'tests-evaluating' } +{ #category : 'tests-evaluating' } NullTriggeringPolicyTest >> testApplyToOn [ self diff --git a/source/Willow-Core-Tests/NullWebInteractionCommandTest.class.st b/source/Willow-Core-Tests/NullWebInteractionCommandTest.class.st index 6f18099f..dd6f4147 100644 --- a/source/Willow-Core-Tests/NullWebInteractionCommandTest.class.st +++ b/source/Willow-Core-Tests/NullWebInteractionCommandTest.class.st @@ -2,30 +2,32 @@ A NullWebInteractionCommandTest is a test class for testing the behavior of NullWebInteractionCommand " Class { - #name : #NullWebInteractionCommandTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'NullWebInteractionCommandTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } NullWebInteractionCommandTest >> testModelLoadingInstructions [ self assert: NullWebInteractionCommand new modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } NullWebInteractionCommandTest >> testPriorityActions [ self assert: NullWebInteractionCommand new priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } NullWebInteractionCommandTest >> testRequiresSerialization [ self deny: NullWebInteractionCommand new requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } NullWebInteractionCommandTest >> testServerIndependentInstructions [ self assert: NullWebInteractionCommand new serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/NumberFieldWebViewTest.class.st b/source/Willow-Core-Tests/NumberFieldWebViewTest.class.st index 94307b68..7e7d0e8e 100644 --- a/source/Willow-Core-Tests/NumberFieldWebViewTest.class.st +++ b/source/Willow-Core-Tests/NumberFieldWebViewTest.class.st @@ -2,21 +2,23 @@ A NumberFieldWebViewTest is a test class for testing the behavior of NumberFieldWebView " Class { - #name : #NumberFieldWebViewTest, - #superclass : #BWRenderingTest, + #name : 'NumberFieldWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } NumberFieldWebViewTest >> changeNotifiedBy: aTextFieldWebView [ notificationWasReceived := true ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } NumberFieldWebViewTest >> testBeIdentifiable [ | numberField html | @@ -29,7 +31,7 @@ NumberFieldWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } NumberFieldWebViewTest >> testIdentifierOn [ | numberField html | @@ -44,7 +46,7 @@ NumberFieldWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #'tests-number-container-API' } +{ #category : 'tests-number-container-API' } NumberFieldWebViewTest >> testNotifyChangesTo [ | numberField | @@ -57,7 +59,7 @@ NumberFieldWebViewTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #'tests-number-container-API' } +{ #category : 'tests-number-container-API' } NumberFieldWebViewTest >> testNumber [ | numberField html | @@ -74,7 +76,7 @@ NumberFieldWebViewTest >> testNumber [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } NumberFieldWebViewTest >> testOn [ | numberField html | @@ -90,7 +92,7 @@ NumberFieldWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } NumberFieldWebViewTest >> testRenderContentOn [ | numberField html | diff --git a/source/Willow-Core-Tests/OpenLocationCommandTest.class.st b/source/Willow-Core-Tests/OpenLocationCommandTest.class.st index 3f05d93e..b2168627 100644 --- a/source/Willow-Core-Tests/OpenLocationCommandTest.class.st +++ b/source/Willow-Core-Tests/OpenLocationCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #OpenLocationCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'OpenLocationCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } OpenLocationCommandTest >> testForNewBrowsingContextNavigatingTo [ | html | @@ -18,7 +20,7 @@ OpenLocationCommandTest >> testForNewBrowsingContextNavigatingTo [ equals: '' ] -{ #category : #tests } +{ #category : 'tests' } OpenLocationCommandTest >> testForSameBrowsingContextNavigatingTo [ | html | diff --git a/source/Willow-Core-Tests/PeriodicallyRenderedWebViewTest.class.st b/source/Willow-Core-Tests/PeriodicallyRenderedWebViewTest.class.st index b3b3f5f3..20cbab16 100644 --- a/source/Willow-Core-Tests/PeriodicallyRenderedWebViewTest.class.st +++ b/source/Willow-Core-Tests/PeriodicallyRenderedWebViewTest.class.st @@ -2,12 +2,14 @@ A PeriodicallyRenderedWebViewTest is a test class for testing the behavior of PeriodicallyRenderedWebView " Class { - #name : #PeriodicallyRenderedWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'PeriodicallyRenderedWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } PeriodicallyRenderedWebViewTest >> testRenderContentOn [ | periodicallyRenderedView html counter | @@ -36,7 +38,7 @@ PeriodicallyRenderedWebViewTest >> testRenderContentOn [ self assert: html equals: 'Count: 3
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } PeriodicallyRenderedWebViewTest >> testRenderingStopsWhenStopConditionIsReached [ | periodicallyRenderedView html counter blockWasEvaluated scripts | @@ -71,26 +73,28 @@ PeriodicallyRenderedWebViewTest >> testRenderingStopsWhenStopConditionIsReached self assert: html equals: 'Count: 3
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } PeriodicallyRenderedWebViewTest >> testScriptToRefreshAndRenderContentOn [ | periodicallyRenderedView html counter | counter := 0. periodicallyRenderedView := PeriodicallyRenderedWebView - evaluating: [ counter := counter + 1 ] - every: 500 - millisecondsThenRendering: [ :canvas | - canvas - render: 'Count: '; - render: counter; - break ]. + evaluating: [ counter := counter + 1 ] + every: 500 + millisecondsThenRendering: [ :canvas | + canvas + render: 'Count: '; + render: counter; + break + ]. self render: periodicallyRenderedView. "This is kind of hacky but there's no other way to test it without a proper AJAX call" - html := self renderUsing: [ :canvas | canvas div script: (periodicallyRenderedView scriptToRefreshAndRenderContentOn: canvas) ]. + html := self renderUsing: [ :canvas | + canvas div script: ( periodicallyRenderedView scriptToRefreshAndRenderContentOn: canvas ) ]. self assert: html equals: - '
");' + '
' ] diff --git a/source/Willow-Core-Tests/PluggableTableRowCommandTest.class.st b/source/Willow-Core-Tests/PluggableTableRowCommandTest.class.st index 588f18ac..24816e06 100644 --- a/source/Willow-Core-Tests/PluggableTableRowCommandTest.class.st +++ b/source/Willow-Core-Tests/PluggableTableRowCommandTest.class.st @@ -2,12 +2,14 @@ A PluggableTableRowCommandTest is a test class for testing the behavior of PluggableTableRowCommand " Class { - #name : #PluggableTableRowCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'PluggableTableRowCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-Applying' } +{ #category : 'tests-Applying' } PluggableTableRowCommandTest >> testApplyToForOn [ | html command | diff --git a/source/Willow-Core-Tests/RadioGroupWebViewTest.class.st b/source/Willow-Core-Tests/RadioGroupWebViewTest.class.st index 945c51f6..2b617cb9 100644 --- a/source/Willow-Core-Tests/RadioGroupWebViewTest.class.st +++ b/source/Willow-Core-Tests/RadioGroupWebViewTest.class.st @@ -2,18 +2,20 @@ A RadioGroupWebViewTest is a test class for testing the behavior of RadioGroupWebView " Class { - #name : #RadioGroupWebViewTest, - #superclass : #SingleSelectionWebViewBehaviorTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'RadioGroupWebViewTest', + #superclass : 'SingleSelectionWebViewBehaviorTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } RadioGroupWebViewTest >> newSingleSelectionView [ ^ RadioGroupWebView new ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } RadioGroupWebViewTest >> testOn [ | radioGroup html | @@ -29,7 +31,7 @@ RadioGroupWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } RadioGroupWebViewTest >> testRenderContentOnWithElements [ | radioGroup html | @@ -44,7 +46,7 @@ RadioGroupWebViewTest >> testRenderContentOnWithElements [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } RadioGroupWebViewTest >> testRenderContentOnWithElementsAndSomethingSelected [ | radioGroup html | @@ -74,7 +76,7 @@ RadioGroupWebViewTest >> testRenderContentOnWithElementsAndSomethingSelected [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } RadioGroupWebViewTest >> testRenderingWhenEmptyDoesNotProduceHTMLContent [ | radioGroup html | @@ -85,7 +87,7 @@ RadioGroupWebViewTest >> testRenderingWhenEmptyDoesNotProduceHTMLContent [ self assert: html isEmpty ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } RadioGroupWebViewTest >> testRenderingWithApplying [ | radioGroup html | diff --git a/source/Willow-Core-Tests/ReflectiveCascadingStyleSheetBuilderExtensionTest.class.st b/source/Willow-Core-Tests/ReflectiveCascadingStyleSheetBuilderExtensionTest.class.st index cc93ed1e..e7eb1e48 100644 --- a/source/Willow-Core-Tests/ReflectiveCascadingStyleSheetBuilderExtensionTest.class.st +++ b/source/Willow-Core-Tests/ReflectiveCascadingStyleSheetBuilderExtensionTest.class.st @@ -2,12 +2,14 @@ I'm a test case for Willow extensions to the CSS builder " Class { - #name : #ReflectiveCascadingStyleSheetBuilderExtensionTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Frontend' + #name : 'ReflectiveCascadingStyleSheetBuilderExtensionTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } ReflectiveCascadingStyleSheetBuilderExtensionTest >> testClassification [ self assert: ReflectiveCascadingStyleSheetBuilder new classification equals: Willow classification diff --git a/source/Willow-Core-Tests/RenderingCommandTest.class.st b/source/Willow-Core-Tests/RenderingCommandTest.class.st index 17dda7ba..e49421bc 100644 --- a/source/Willow-Core-Tests/RenderingCommandTest.class.st +++ b/source/Willow-Core-Tests/RenderingCommandTest.class.st @@ -2,16 +2,18 @@ A RenderingCommandTest is a test class for testing the behavior of RenderingCommand " Class { - #name : #RenderingCommandTest, - #superclass : #BWRenderingTest, + #name : 'RenderingCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'identifiedView', 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } RenderingCommandTest >> setUp [ super setUp. @@ -22,40 +24,39 @@ RenderingCommandTest >> setUp [ command := RenderingCommand for: identifiedView ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } RenderingCommandTest >> testModelLoadingInstructions [ | html | - html := self - renderUsing: [ :canvas | - | script | + html := self renderUsing: [ :canvas | + | script | - script := canvas javascript. - identifiedView identifierOn: canvas. - command modelLoadingInstructions appendTo: script on: canvas. - canvas anchor script: ( canvas jQuery this onClick: script ) - ]. + script := canvas javascript. + identifiedView identifierOn: canvas. + command modelLoadingInstructions appendTo: script on: canvas. + canvas anchor script: ( canvas jQuery this onClick: script ) + ]. self assert: html equals: - '' + '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } RenderingCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } RenderingCommandTest >> testRequiresSerialization [ self assert: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } RenderingCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/ScrollIntoViewCommandTest.class.st b/source/Willow-Core-Tests/ScrollIntoViewCommandTest.class.st index 3799b208..9b269dd1 100644 --- a/source/Willow-Core-Tests/ScrollIntoViewCommandTest.class.st +++ b/source/Willow-Core-Tests/ScrollIntoViewCommandTest.class.st @@ -2,22 +2,24 @@ A ScrollIntoViewCommandTest is a test class for testing the behavior of ScrollIntoViewCommand " Class { - #name : #ScrollIntoViewCommandTest, - #superclass : #BWRenderingTest, + #name : 'ScrollIntoViewCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } ScrollIntoViewCommandTest >> setUp [ super setUp. command := ScrollIntoViewCommand withComponentIdentifierProvidedBy: [ 'id8' ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ScrollIntoViewCommandTest >> testModelLoadingInstructions [ | html | @@ -37,19 +39,19 @@ ScrollIntoViewCommandTest >> testModelLoadingInstructions [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ScrollIntoViewCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ScrollIntoViewCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ScrollIntoViewCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/SerializationCommandTest.class.st b/source/Willow-Core-Tests/SerializationCommandTest.class.st index ffc0e8d4..e82c91b4 100644 --- a/source/Willow-Core-Tests/SerializationCommandTest.class.st +++ b/source/Willow-Core-Tests/SerializationCommandTest.class.st @@ -2,22 +2,24 @@ A SerializationCommandTest is a test class for testing the behavior of SerializationCommand " Class { - #name : #SerializationCommandTest, - #superclass : #BWRenderingTest, + #name : 'SerializationCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } SerializationCommandTest >> setUp [ super setUp. command := SerializationCommand forCurrentObject ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testForChildForm [ | html | @@ -37,7 +39,7 @@ SerializationCommandTest >> testForChildForm [ equals: '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testForCurrentObject [ | html | @@ -60,7 +62,7 @@ SerializationCommandTest >> testForCurrentObject [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testForCurrentObjectWithHiddenInputs [ | html | @@ -80,7 +82,7 @@ SerializationCommandTest >> testForCurrentObjectWithHiddenInputs [ equals: '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testForForm [ | html | @@ -106,7 +108,7 @@ SerializationCommandTest >> testForForm [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testForParentForm [ | html | @@ -127,13 +129,13 @@ SerializationCommandTest >> testForParentForm [ '' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testPriorityActions [ | html | @@ -154,13 +156,13 @@ SerializationCommandTest >> testPriorityActions [ '' ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } SerializationCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testSerializationCoverage [ self assert: NullWebInteractionCommand new serializationCoverage isEmpty. @@ -170,7 +172,7 @@ SerializationCommandTest >> testSerializationCoverage [ equals: #(forCurrentObject) ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } SerializationCommandTest >> testServerIndependentInstructions [ self assert: command serverIndependentInstructions isEmpty diff --git a/source/Willow-Core-Tests/ServerResponseCommandTest.class.st b/source/Willow-Core-Tests/ServerResponseCommandTest.class.st index e6da3a47..e55ac1bd 100644 --- a/source/Willow-Core-Tests/ServerResponseCommandTest.class.st +++ b/source/Willow-Core-Tests/ServerResponseCommandTest.class.st @@ -1,22 +1,24 @@ Class { - #name : #ServerResponseCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'ServerResponseCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'test support' } +{ #category : 'test support' } ServerResponseCommandTest >> bePost [ "Nothing to do" ] -{ #category : #'test support' } +{ #category : 'test support' } ServerResponseCommandTest >> callback: aBlock json: aString [ ^ aBlock value: aString ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testModelLoadingActionsWhenUsingClientParameter [ | command html | @@ -55,7 +57,7 @@ ServerResponseCommandTest >> testModelLoadingActionsWhenUsingClientParameter [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testModelLoadingInstructions [ | command html | @@ -82,7 +84,7 @@ ServerResponseCommandTest >> testModelLoadingInstructions [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testOnRespond [ | command html | @@ -109,7 +111,7 @@ ServerResponseCommandTest >> testOnRespond [ '
' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testParameter [ | parameterObtained command | @@ -128,7 +130,7 @@ ServerResponseCommandTest >> testParameter [ self assert: parameterObtained equals: 'test complete' ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testPriorityActions [ "Priority actions are only created when a client parameter is provided. @@ -142,7 +144,7 @@ ServerResponseCommandTest >> testPriorityActions [ requiring: Optional unused ) priorityActions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testPriorityActionsIncludeConditionalExecution [ | command html | @@ -169,7 +171,7 @@ ServerResponseCommandTest >> testPriorityActionsIncludeConditionalExecution [ '
' ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } ServerResponseCommandTest >> testRequiresSerialization [ self @@ -180,7 +182,7 @@ ServerResponseCommandTest >> testRequiresSerialization [ requiring: Optional unused ) requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } ServerResponseCommandTest >> testServerIndependentInstructions [ self diff --git a/source/Willow-Core-Tests/SetColumnSpanCommandTest.class.st b/source/Willow-Core-Tests/SetColumnSpanCommandTest.class.st index e68c3946..632489d4 100644 --- a/source/Willow-Core-Tests/SetColumnSpanCommandTest.class.st +++ b/source/Willow-Core-Tests/SetColumnSpanCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #SetColumnSpanCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'SetColumnSpanCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } SetColumnSpanCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/SetComponentSizeCommandTest.class.st b/source/Willow-Core-Tests/SetComponentSizeCommandTest.class.st index 0a2c030c..4a1671e8 100644 --- a/source/Willow-Core-Tests/SetComponentSizeCommandTest.class.st +++ b/source/Willow-Core-Tests/SetComponentSizeCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #SetComponentSizeCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'SetComponentSizeCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } SetComponentSizeCommandTest >> testApplyToOn [ | html | html := self apply: (SetComponentSizeCommand setting: 5) toComponentDefinedBy: [ :canvas | canvas select ]. diff --git a/source/Willow-Core-Tests/SetComponentStyleCommandTest.class.st b/source/Willow-Core-Tests/SetComponentStyleCommandTest.class.st index d552cd43..403cdc52 100644 --- a/source/Willow-Core-Tests/SetComponentStyleCommandTest.class.st +++ b/source/Willow-Core-Tests/SetComponentStyleCommandTest.class.st @@ -2,12 +2,14 @@ A SetComponentStyleCommandTest is a test class for testing the behavior of SetComponentStyleCommand " Class { - #name : #SetComponentStyleCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'SetComponentStyleCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-initialization' } +{ #category : 'tests-initialization' } SetComponentStyleCommandTest >> testApplyToOn [ | html | html := self diff --git a/source/Willow-Core-Tests/SetComponentTabIndexCommandTest.class.st b/source/Willow-Core-Tests/SetComponentTabIndexCommandTest.class.st index eb67c5fc..4fd192f4 100644 --- a/source/Willow-Core-Tests/SetComponentTabIndexCommandTest.class.st +++ b/source/Willow-Core-Tests/SetComponentTabIndexCommandTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #SetComponentTabIndexCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'SetComponentTabIndexCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-processing' } +{ #category : 'tests-processing' } SetComponentTabIndexCommandTest >> testApplyToOn [ | html | html := self apply: (SetComponentTabIndexCommand setting: 3) toComponentDefinedBy: [ :canvas | canvas select ]. diff --git a/source/Willow-Core-Tests/SetRowSpanCommandTest.class.st b/source/Willow-Core-Tests/SetRowSpanCommandTest.class.st index 53083723..b281fc87 100644 --- a/source/Willow-Core-Tests/SetRowSpanCommandTest.class.st +++ b/source/Willow-Core-Tests/SetRowSpanCommandTest.class.st @@ -2,12 +2,14 @@ A SetRowSpanCommandTest is a test class for testing the behavior of SetRowSpanCommand " Class { - #name : #SetRowSpanCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'SetRowSpanCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #tests } +{ #category : 'tests' } SetRowSpanCommandTest >> testApplyToOn [ | html | diff --git a/source/Willow-Core-Tests/SingleSelectionWebViewAsDropDownListTest.class.st b/source/Willow-Core-Tests/SingleSelectionWebViewAsDropDownListTest.class.st index c0b49bea..d44ea768 100644 --- a/source/Willow-Core-Tests/SingleSelectionWebViewAsDropDownListTest.class.st +++ b/source/Willow-Core-Tests/SingleSelectionWebViewAsDropDownListTest.class.st @@ -2,19 +2,21 @@ A DropDownListWebViewTest is a test class for testing the behavior of DropDownListWebView " Class { - #name : #SingleSelectionWebViewAsDropDownListTest, - #superclass : #SingleSelectionWebViewBehaviorTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'SingleSelectionWebViewAsDropDownListTest', + #superclass : 'SingleSelectionWebViewBehaviorTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } SingleSelectionWebViewAsDropDownListTest >> newSingleSelectionView [ ^ SingleSelectionWebView dropDownListApplying: [ ] applyingToOptions: [ ] ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SingleSelectionWebViewAsDropDownListTest >> testBeIdentifiable [ | dropDownList html | @@ -27,7 +29,7 @@ SingleSelectionWebViewAsDropDownListTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsDropDownListTest >> testCustomCommandForOptions [ | dropDownList html | @@ -46,7 +48,7 @@ SingleSelectionWebViewAsDropDownListTest >> testCustomCommandForOptions [ '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SingleSelectionWebViewAsDropDownListTest >> testIdentifierOn [ | dropDownList html | @@ -62,7 +64,7 @@ SingleSelectionWebViewAsDropDownListTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SingleSelectionWebViewAsDropDownListTest >> testOn [ | dropDownList html | @@ -78,7 +80,7 @@ SingleSelectionWebViewAsDropDownListTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsDropDownListTest >> testRenderContentOn [ | dropDownList html | @@ -90,7 +92,7 @@ SingleSelectionWebViewAsDropDownListTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsDropDownListTest >> testRenderContentOnWithCommands [ | dropDownList html | @@ -103,7 +105,7 @@ SingleSelectionWebViewAsDropDownListTest >> testRenderContentOnWithCommands [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsDropDownListTest >> testRenderContentOnWithElements [ | dropDownList html | @@ -118,7 +120,7 @@ SingleSelectionWebViewAsDropDownListTest >> testRenderContentOnWithElements [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsDropDownListTest >> testRenderContentOnWithElementsAndSomethingSelected [ | dropDownList html | diff --git a/source/Willow-Core-Tests/SingleSelectionWebViewAsListBoxTest.class.st b/source/Willow-Core-Tests/SingleSelectionWebViewAsListBoxTest.class.st index 1ed8d829..5b41e16d 100644 --- a/source/Willow-Core-Tests/SingleSelectionWebViewAsListBoxTest.class.st +++ b/source/Willow-Core-Tests/SingleSelectionWebViewAsListBoxTest.class.st @@ -2,18 +2,20 @@ A SingleSelectionListBoxWebViewTest is a test class for testing the behavior of SingleSelectionListBoxWebView " Class { - #name : #SingleSelectionWebViewAsListBoxTest, - #superclass : #SingleSelectionWebViewBehaviorTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'SingleSelectionWebViewAsListBoxTest', + #superclass : 'SingleSelectionWebViewBehaviorTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SingleSelectionWebViewAsListBoxTest >> newSingleSelectionView [ ^ SingleSelectionWebView listBoxDisplayingAtOnce: 5 ] -{ #category : #tests } +{ #category : 'tests' } SingleSelectionWebViewAsListBoxTest >> testBeIdentifiable [ | listBox html | @@ -26,7 +28,7 @@ SingleSelectionWebViewAsListBoxTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsListBoxTest >> testCustomCommandForOptions [ | dropDownList html | @@ -46,7 +48,7 @@ SingleSelectionWebViewAsListBoxTest >> testCustomCommandForOptions [ '' ] -{ #category : #tests } +{ #category : 'tests' } SingleSelectionWebViewAsListBoxTest >> testDisplayingAtOnce [ self @@ -55,7 +57,7 @@ SingleSelectionWebViewAsListBoxTest >> testDisplayingAtOnce [ should: [ SingleSelectionWebView listBoxDisplayingAtOnce: -51 ] raise: AssertionFailed ] -{ #category : #tests } +{ #category : 'tests' } SingleSelectionWebViewAsListBoxTest >> testIdentifierOn [ | listBox html | @@ -71,7 +73,7 @@ SingleSelectionWebViewAsListBoxTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } SingleSelectionWebViewAsListBoxTest >> testOn [ | listBox html | @@ -87,7 +89,7 @@ SingleSelectionWebViewAsListBoxTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsListBoxTest >> testRenderContentOn [ | listBox html | @@ -99,7 +101,7 @@ SingleSelectionWebViewAsListBoxTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsListBoxTest >> testRenderContentOnWithCommands [ | listBox html | @@ -114,7 +116,7 @@ SingleSelectionWebViewAsListBoxTest >> testRenderContentOnWithCommands [ equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsListBoxTest >> testRenderContentOnWithElements [ | listBox html | @@ -129,7 +131,7 @@ SingleSelectionWebViewAsListBoxTest >> testRenderContentOnWithElements [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SingleSelectionWebViewAsListBoxTest >> testRenderContentOnWithElementsAndSomethingSelected [ | listBox html | diff --git a/source/Willow-Core-Tests/SingleSelectionWebViewBehaviorTest.class.st b/source/Willow-Core-Tests/SingleSelectionWebViewBehaviorTest.class.st index 008c2746..97afe195 100644 --- a/source/Willow-Core-Tests/SingleSelectionWebViewBehaviorTest.class.st +++ b/source/Willow-Core-Tests/SingleSelectionWebViewBehaviorTest.class.st @@ -2,33 +2,35 @@ I'm an abstract test case for views implementing the single selection API " Class { - #name : #SingleSelectionWebViewBehaviorTest, - #superclass : #BWRenderingTest, + #name : 'SingleSelectionWebViewBehaviorTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #testing } +{ #category : 'testing' } SingleSelectionWebViewBehaviorTest class >> isAbstract [ ^self name = #SingleSelectionWebViewBehaviorTest ] -{ #category : #support } +{ #category : 'support' } SingleSelectionWebViewBehaviorTest >> changeNotifiedBy: aDropDownListWebView [ notificationWasReceived := true ] -{ #category : #support } +{ #category : 'support' } SingleSelectionWebViewBehaviorTest >> newSingleSelectionView [ ^self subclassResponsibility ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testAllowsAnySatisfying [ | singleSelectionView | @@ -44,7 +46,7 @@ SingleSelectionWebViewBehaviorTest >> testAllowsAnySatisfying [ deny: (singleSelectionView allowsAnySatisfying: [ :element | element isZero ]) ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testChooseAny [ | singleSelectionView allowedElements | @@ -64,7 +66,7 @@ SingleSelectionWebViewBehaviorTest >> testChooseAny [ self assert: (allowedElements includes: singleSelectionView currentSelection) ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testChooseEqualTo [ | singleSelectionView allowedElements | @@ -88,7 +90,7 @@ SingleSelectionWebViewBehaviorTest >> testChooseEqualTo [ self assert: singleSelectionView currentSelection equals: 4 ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testNotifyChangesTo [ | singleSelectionView | @@ -102,7 +104,7 @@ SingleSelectionWebViewBehaviorTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenAvailableElementsChangeButContainsTheSelectedOne [ | singleSelectionView | @@ -123,7 +125,7 @@ SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenAvailableElementsChan self assert: (singleSelectionView currentSelectionIfNone: [ self fail ]) equals: 1 ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenAvailableElementsChangeButDoesNotContainTheSelectedOne [ | singleSelectionView | @@ -145,7 +147,7 @@ SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenAvailableElementsChan assert: (singleSelectionView currentSelectionIfNone: [ 0 ]) equals: 0 ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenSelectionChanged [ | singleSelectionView | @@ -162,7 +164,7 @@ SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenSelectionChanged [ self assert: notificationWasReceived ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenSelectionDoesNotChange [ | singleSelectionView | @@ -180,7 +182,7 @@ SingleSelectionWebViewBehaviorTest >> testNotifyChangesWhenSelectionDoesNotChang assert: (singleSelectionView currentSelectionIfNone: [ 0 ]) equals: 0 ] -{ #category : #'tests-Single Selection-API' } +{ #category : 'tests-Single Selection-API' } SingleSelectionWebViewBehaviorTest >> testWithCurrentSelectionDo [ | singleSelectionView allowedElements | diff --git a/source/Willow-Core-Tests/SynchronicSubmitButtonWebViewTest.class.st b/source/Willow-Core-Tests/SynchronicSubmitButtonWebViewTest.class.st index e78f6d13..ec0b44a2 100644 --- a/source/Willow-Core-Tests/SynchronicSubmitButtonWebViewTest.class.st +++ b/source/Willow-Core-Tests/SynchronicSubmitButtonWebViewTest.class.st @@ -2,12 +2,14 @@ A SynchronicSubmitButtonWebViewTest is a test class for testing the behavior of SynchronicSubmitButtonWebView " Class { - #name : #SynchronicSubmitButtonWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'SynchronicSubmitButtonWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SynchronicSubmitButtonWebViewTest >> testBeIdentifiable [ | synchronicButton html | @@ -22,7 +24,7 @@ SynchronicSubmitButtonWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SynchronicSubmitButtonWebViewTest >> testIdentifierOn [ | synchronicButton html | @@ -43,7 +45,7 @@ SynchronicSubmitButtonWebViewTest >> testIdentifierOn [ equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } SynchronicSubmitButtonWebViewTest >> testOn [ | synchronicButton html | @@ -61,7 +63,7 @@ SynchronicSubmitButtonWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } SynchronicSubmitButtonWebViewTest >> testRenderContentOn [ | synchronicButton html | diff --git a/source/Willow-Core-Tests/TableWebViewTest.class.st b/source/Willow-Core-Tests/TableWebViewTest.class.st index 1769ef5f..267870a5 100644 --- a/source/Willow-Core-Tests/TableWebViewTest.class.st +++ b/source/Willow-Core-Tests/TableWebViewTest.class.st @@ -2,21 +2,23 @@ A TableWebViewTest is a test class for testing the behavior of TableWebView " Class { - #name : #TableWebViewTest, - #superclass : #BWRenderingTest, + #name : 'TableWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #private } +{ #category : 'private' } TableWebViewTest >> changeNotifiedBy: aTableWebView [ notificationWasReceived := true ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testBeIdentifiable [ | table html | @@ -30,7 +32,7 @@ TableWebViewTest >> testBeIdentifiable [ self assert: html equals: '
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testComplexTable [ | table html | @@ -60,7 +62,7 @@ TableWebViewTest >> testComplexTable [ '
Squared
11
24
Total5
' ] -{ #category : #'tests-container-API' } +{ #category : 'tests-container-API' } TableWebViewTest >> testContents [ | table | @@ -79,7 +81,7 @@ TableWebViewTest >> testContents [ assert: notificationWasReceived ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testDefinedByApplyingHeaderRenderedByApplyingToEachRow [ | table html | @@ -98,7 +100,7 @@ TableWebViewTest >> testDefinedByApplyingHeaderRenderedByApplyingToEachRow [ '
false
true
false
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testHeadedDefinedByApplying [ | table html | @@ -116,7 +118,7 @@ TableWebViewTest >> testHeadedDefinedByApplying [ self assert: html equals: '
Is Even?
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testHeadedDefinedByApplyingWithContents [ | table html | @@ -138,7 +140,7 @@ TableWebViewTest >> testHeadedDefinedByApplyingWithContents [ '
Is Even?
false
true
false
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testOn [ | table html | @@ -157,7 +159,7 @@ TableWebViewTest >> testOn [ '
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testRenderContentOn [ | table html | @@ -171,7 +173,7 @@ TableWebViewTest >> testRenderContentOn [ self assert: html equals: '
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testRenderContentOnWithContents [ | table html | @@ -189,7 +191,7 @@ TableWebViewTest >> testRenderContentOnWithContents [ equals: '
false
true
false
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testRenderContentOnWithContentsAndSeveralColumns [ | table html | @@ -209,7 +211,7 @@ TableWebViewTest >> testRenderContentOnWithContentsAndSeveralColumns [ '
falsetrue
truefalse
falsetrue
' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } TableWebViewTest >> testTableWithFooterSupport [ | table html | diff --git a/source/Willow-Core-Tests/TemporarilyDisablingCommandTest.class.st b/source/Willow-Core-Tests/TemporarilyDisablingCommandTest.class.st index af0316d7..839b7077 100644 --- a/source/Willow-Core-Tests/TemporarilyDisablingCommandTest.class.st +++ b/source/Willow-Core-Tests/TemporarilyDisablingCommandTest.class.st @@ -2,48 +2,49 @@ A TemporarilyDisablingCommandTest is a test class for testing the behavior of TemporarilyDisablingCommand " Class { - #name : #TemporarilyDisablingCommandTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'TemporarilyDisablingCommandTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } TemporarilyDisablingCommandTest >> testModelLoadingInstructions [ self assert: (TemporarilyDisablingCommand transformingCurrentViewInto: [ :canvas | ]) modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } TemporarilyDisablingCommandTest >> testPriorityActions [ | command html | - command := TemporarilyDisablingCommand - transformingCurrentViewInto: [ :canvas | canvas span apply: [ :span | span addClass loading ] ]. - html := self - renderUsing: [ :canvas | - | asynchronousCall anchor | + command := TemporarilyDisablingCommand transformingCurrentViewInto: [ :canvas | + canvas span apply: [ :span | span addClass loading ] ]. + html := self renderUsing: [ :canvas | + | asynchronousCall anchor | - asynchronousCall := canvas jQuery ajax. - command priorityActions do: [ :action | action value: asynchronousCall value: canvas ]. - anchor := canvas anchor. - canvas ensureIdFor: anchor. - anchor script: ( canvas jQuery this onClick: asynchronousCall ) - ]. + asynchronousCall := canvas jQuery ajax. + command priorityActions do: [ :action | action value: asynchronousCall value: canvas ]. + anchor := canvas anchor. + canvas ensureIdFor: anchor. + anchor script: ( canvas jQuery this onClick: asynchronousCall ) + ]. self assert: html equals: - '' + '' ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } TemporarilyDisablingCommandTest >> testRequiresSerialization [ self deny: (TemporarilyDisablingCommand transformingCurrentViewInto: [ :canvas | ]) requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } TemporarilyDisablingCommandTest >> testServerIndependentInstructions [ | command html | diff --git a/source/Willow-Core-Tests/TextFieldWebViewTest.class.st b/source/Willow-Core-Tests/TextFieldWebViewTest.class.st index 327b92ff..8097c532 100644 --- a/source/Willow-Core-Tests/TextFieldWebViewTest.class.st +++ b/source/Willow-Core-Tests/TextFieldWebViewTest.class.st @@ -2,21 +2,23 @@ A TextFieldWebViewTest is a test class for testing the behavior of TextFieldWebView " Class { - #name : #TextFieldWebViewTest, - #superclass : #BWRenderingTest, + #name : 'TextFieldWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'test support' } +{ #category : 'test support' } TextFieldWebViewTest >> changeNotifiedBy: aTextFieldWebView [ notificationWasReceived := true ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } TextFieldWebViewTest >> testBeIdentifiable [ | textField html | @@ -28,7 +30,7 @@ TextFieldWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests - container-API' } +{ #category : 'tests - container-API' } TextFieldWebViewTest >> testContents [ | textField | @@ -42,7 +44,7 @@ TextFieldWebViewTest >> testContents [ self assert: textField contents equals: 'Hello World!' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } TextFieldWebViewTest >> testIdentifierOn [ | textField html | @@ -57,7 +59,7 @@ TextFieldWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #'tests - container-API' } +{ #category : 'tests - container-API' } TextFieldWebViewTest >> testModel [ | textField | @@ -71,7 +73,7 @@ TextFieldWebViewTest >> testModel [ self assert: textField model equals: 'Hello World!' ] -{ #category : #'tests - container-API' } +{ #category : 'tests - container-API' } TextFieldWebViewTest >> testNotifyChangesTo [ | textField | @@ -84,7 +86,7 @@ TextFieldWebViewTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } TextFieldWebViewTest >> testOn [ | textField html | @@ -99,7 +101,7 @@ TextFieldWebViewTest >> testOn [ '' ] -{ #category : #'tests - configuring' } +{ #category : 'tests - configuring' } TextFieldWebViewTest >> testOnTriggerMultiLine [ | textField html | @@ -114,7 +116,7 @@ TextFieldWebViewTest >> testOnTriggerMultiLine [ '' ] -{ #category : #'tests - rendering' } +{ #category : 'tests - rendering' } TextFieldWebViewTest >> testRenderContentOn [ | textField html | @@ -126,7 +128,7 @@ TextFieldWebViewTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests - rendering' } +{ #category : 'tests - rendering' } TextFieldWebViewTest >> testRenderContentOnApplyingCommands [ | textField html | @@ -138,7 +140,7 @@ TextFieldWebViewTest >> testRenderContentOnApplyingCommands [ self assert: html equals: '' ] -{ #category : #'tests - rendering' } +{ #category : 'tests - rendering' } TextFieldWebViewTest >> testRenderMultiLineContentWithContents [ | textField html | @@ -153,7 +155,7 @@ TextFieldWebViewTest >> testRenderMultiLineContentWithContents [ equals: '' ] -{ #category : #'tests - rendering' } +{ #category : 'tests - rendering' } TextFieldWebViewTest >> testRenderSingleLineContentWithContents [ | textField html | diff --git a/source/Willow-Core-Tests/TimeFieldWebViewTest.class.st b/source/Willow-Core-Tests/TimeFieldWebViewTest.class.st index dc358ac6..0a495679 100644 --- a/source/Willow-Core-Tests/TimeFieldWebViewTest.class.st +++ b/source/Willow-Core-Tests/TimeFieldWebViewTest.class.st @@ -2,21 +2,23 @@ A TimeFieldWebViewTest is a test class for testing the behavior of TimeFieldWebView " Class { - #name : #TimeFieldWebViewTest, - #superclass : #BWRenderingTest, + #name : 'TimeFieldWebViewTest', + #superclass : 'BWRenderingTest', #instVars : [ 'notificationWasReceived' ], - #category : #'Willow-Core-Tests-WebViews' + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } TimeFieldWebViewTest >> changeNotifiedBy: aTextFieldWebView [ notificationWasReceived := true ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testBeIdentifiable [ | timeField html | @@ -29,7 +31,7 @@ TimeFieldWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testIdentifierOn [ | timeField html | @@ -45,7 +47,7 @@ TimeFieldWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testNotifyChangesTo [ | timeField | @@ -58,7 +60,7 @@ TimeFieldWebViewTest >> testNotifyChangesTo [ self assert: notificationWasReceived ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testOn [ | timeField html | @@ -74,7 +76,7 @@ TimeFieldWebViewTest >> testOn [ '' ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testRenderContentOn [ | timeField html | @@ -86,7 +88,7 @@ TimeFieldWebViewTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } TimeFieldWebViewTest >> testTime [ | timeField html currentTime | diff --git a/source/Willow-Core-Tests/UnorderedListWebViewTest.class.st b/source/Willow-Core-Tests/UnorderedListWebViewTest.class.st index 866cf7b7..769a9c5e 100644 --- a/source/Willow-Core-Tests/UnorderedListWebViewTest.class.st +++ b/source/Willow-Core-Tests/UnorderedListWebViewTest.class.st @@ -2,12 +2,14 @@ An UnorderedListWebViewTest is a test class for testing the behavior of UnorderedListWebView " Class { - #name : #UnorderedListWebViewTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebViews' + #name : 'UnorderedListWebViewTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebViews', + #package : 'Willow-Core-Tests', + #tag : 'WebViews' } -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } UnorderedListWebViewTest >> testBeIdentifiable [ | unorderedList html | @@ -23,7 +25,7 @@ UnorderedListWebViewTest >> testBeIdentifiable [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } UnorderedListWebViewTest >> testIdentifierOn [ | unorderedList html | @@ -42,7 +44,7 @@ UnorderedListWebViewTest >> testIdentifierOn [ self assert: html equals: '' ] -{ #category : #'tests-configuring' } +{ #category : 'tests-configuring' } UnorderedListWebViewTest >> testOn [ | unorderedList html | @@ -61,7 +63,7 @@ UnorderedListWebViewTest >> testOn [ '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } UnorderedListWebViewTest >> testRenderContentOn [ | unorderedList html | @@ -73,7 +75,7 @@ UnorderedListWebViewTest >> testRenderContentOn [ self assert: html equals: '' ] -{ #category : #'tests-rendering' } +{ #category : 'tests-rendering' } UnorderedListWebViewTest >> testRenderContentOnWithCommands [ | unorderedList html | diff --git a/source/Willow-Core-Tests/UserAgentCommandTest.class.st b/source/Willow-Core-Tests/UserAgentCommandTest.class.st index e74d06c1..4fe034bb 100644 --- a/source/Willow-Core-Tests/UserAgentCommandTest.class.st +++ b/source/Willow-Core-Tests/UserAgentCommandTest.class.st @@ -1,38 +1,40 @@ Class { - #name : #UserAgentCommandTest, - #superclass : #BWRenderingTest, + #name : 'UserAgentCommandTest', + #superclass : 'BWRenderingTest', #instVars : [ 'command' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #initialization } +{ #category : 'initialization' } UserAgentCommandTest >> setUp [ super setUp. command := UserAgentCommand executing: [ :canvas | JSStream this call: 'passTest' ] ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } UserAgentCommandTest >> testModelLoadingInstructions [ self assert: command modelLoadingInstructions isEmpty ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } UserAgentCommandTest >> testPriorityActions [ self assert: command priorityActions isEmpty ] -{ #category : #'tests-testing' } +{ #category : 'tests-testing' } UserAgentCommandTest >> testRequiresSerialization [ self deny: command requiresSerialization ] -{ #category : #'tests-accessing' } +{ #category : 'tests-accessing' } UserAgentCommandTest >> testServerIndependentInstructions [ | html | diff --git a/source/Willow-Core-Tests/WebComponentCommandBuilderTest.class.st b/source/Willow-Core-Tests/WebComponentCommandBuilderTest.class.st index b5476a10..b8fe6f9b 100644 --- a/source/Willow-Core-Tests/WebComponentCommandBuilderTest.class.st +++ b/source/Willow-Core-Tests/WebComponentCommandBuilderTest.class.st @@ -2,18 +2,20 @@ A WebComponentCommandBuilderTest is a test class for testing the behavior of WebComponentCommandBuilder " Class { - #name : #WebComponentCommandBuilderTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'WebComponentCommandBuilderTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #private } +{ #category : 'private' } WebComponentCommandBuilderTest >> commandBuilder [ ^ WebComponentCommandBuilder new ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testARIARoleCommand [ | html | @@ -23,7 +25,7 @@ WebComponentCommandBuilderTest >> testARIARoleCommand [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testAccessibilityEnrichmentCommands [ | html | @@ -33,7 +35,7 @@ WebComponentCommandBuilderTest >> testAccessibilityEnrichmentCommands [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testAttributeCommands [ | html | @@ -43,7 +45,7 @@ WebComponentCommandBuilderTest >> testAttributeCommands [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testAutofocusCommand [ | html | @@ -55,7 +57,7 @@ WebComponentCommandBuilderTest >> testAutofocusCommand [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testBlockExtension [ | html | @@ -67,7 +69,7 @@ WebComponentCommandBuilderTest >> testBlockExtension [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testBoundaryCommands [ | html | @@ -83,7 +85,7 @@ WebComponentCommandBuilderTest >> testBoundaryCommands [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testCallbackSettingCommand [ | html | @@ -95,7 +97,7 @@ WebComponentCommandBuilderTest >> testCallbackSettingCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testClassificationCommands [ | html | @@ -116,7 +118,7 @@ WebComponentCommandBuilderTest >> testClassificationCommands [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testCompositeCommand [ | html | @@ -128,7 +130,7 @@ WebComponentCommandBuilderTest >> testCompositeCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testConditionalCommand [ | html | @@ -146,7 +148,7 @@ WebComponentCommandBuilderTest >> testConditionalCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testDeselectAllOptionsCommands [ | html | @@ -158,7 +160,7 @@ WebComponentCommandBuilderTest >> testDeselectAllOptionsCommands [ equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testDisableCommand [ | html | @@ -168,7 +170,7 @@ WebComponentCommandBuilderTest >> testDisableCommand [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testDisableTabCycleCommand [ | html | @@ -178,7 +180,7 @@ WebComponentCommandBuilderTest >> testDisableTabCycleCommand [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testInputModeCommands [ | html | @@ -220,7 +222,7 @@ WebComponentCommandBuilderTest >> testInputModeCommands [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testListLabelingCommand [ | html | @@ -232,7 +234,7 @@ WebComponentCommandBuilderTest >> testListLabelingCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testMaxLengthCommand [ | html | @@ -242,7 +244,7 @@ WebComponentCommandBuilderTest >> testMaxLengthCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testMetadataCommands [ | html | @@ -252,7 +254,7 @@ WebComponentCommandBuilderTest >> testMetadataCommands [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testNamingCommand [ | html | @@ -262,7 +264,7 @@ WebComponentCommandBuilderTest >> testNamingCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testPlaceholderCommands [ | html | @@ -272,7 +274,7 @@ WebComponentCommandBuilderTest >> testPlaceholderCommands [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testReadOnlyCommand [ | html | @@ -282,7 +284,7 @@ WebComponentCommandBuilderTest >> testReadOnlyCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testRequiredCommand [ | html | @@ -292,7 +294,7 @@ WebComponentCommandBuilderTest >> testRequiredCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testScriptCommands [ | html | @@ -304,7 +306,7 @@ WebComponentCommandBuilderTest >> testScriptCommands [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testSetComponentStyleCommands [ | html | @@ -314,7 +316,7 @@ WebComponentCommandBuilderTest >> testSetComponentStyleCommands [ self assert: html equals: '
' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testTabIndexCommand [ | html | @@ -324,7 +326,7 @@ WebComponentCommandBuilderTest >> testTabIndexCommand [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WebComponentCommandBuilderTest >> testTitleCommand [ | html | diff --git a/source/Willow-Core-Tests/WebComponentCommandToTableRowCommandAdapterTest.class.st b/source/Willow-Core-Tests/WebComponentCommandToTableRowCommandAdapterTest.class.st index 9445b66e..147702bc 100644 --- a/source/Willow-Core-Tests/WebComponentCommandToTableRowCommandAdapterTest.class.st +++ b/source/Willow-Core-Tests/WebComponentCommandToTableRowCommandAdapterTest.class.st @@ -2,12 +2,14 @@ A WebComponentCommandToTableRowCommandAdapterTest is a test class for testing the behavior of WebComponentCommandToTableRowCommandAdapter " Class { - #name : #WebComponentCommandToTableRowCommandAdapterTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'WebComponentCommandToTableRowCommandAdapterTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'tests-Applying' } +{ #category : 'tests-Applying' } WebComponentCommandToTableRowCommandAdapterTest >> testApplyToForOn [ | html command | diff --git a/source/Willow-Core-Tests/WebComponentInteractionTest.class.st b/source/Willow-Core-Tests/WebComponentInteractionTest.class.st index 9011398f..f6e2f8a2 100644 --- a/source/Willow-Core-Tests/WebComponentInteractionTest.class.st +++ b/source/Willow-Core-Tests/WebComponentInteractionTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #WebComponentInteractionTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'WebComponentInteractionTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #tests } +{ #category : 'tests' } WebComponentInteractionTest >> testNeverTriggered [ | interaction html | diff --git a/source/Willow-Core-Tests/WebInteractionInstructionsTest.class.st b/source/Willow-Core-Tests/WebInteractionInstructionsTest.class.st index 9237f783..57c79492 100644 --- a/source/Willow-Core-Tests/WebInteractionInstructionsTest.class.st +++ b/source/Willow-Core-Tests/WebInteractionInstructionsTest.class.st @@ -2,12 +2,14 @@ A WebInteractionInstructionsTest is a test class for testing the behavior of WebInteractionInstructions " Class { - #name : #WebInteractionInstructionsTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'WebInteractionInstructionsTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testAppendToOn [ | stream instructions | @@ -19,7 +21,7 @@ WebInteractionInstructionsTest >> testAppendToOn [ self assert: stream contents equals: 'Number is 3' ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testCombinedWith [ | stream instructions otherInstructions | @@ -33,7 +35,7 @@ WebInteractionInstructionsTest >> testCombinedWith [ self assert: stream contents equals: 'Values are 35' ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testCombinedWithWhenBothAreEmpty [ | stream instructions otherInstructions | @@ -45,7 +47,7 @@ WebInteractionInstructionsTest >> testCombinedWithWhenBothAreEmpty [ self assert: stream contents equals: 'Values not here' ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testCombinedWithWhenFirstIsEmpty [ | stream instructions otherInstructions | @@ -58,7 +60,7 @@ WebInteractionInstructionsTest >> testCombinedWithWhenFirstIsEmpty [ self assert: stream contents equals: 'Values are 5' ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testCombinedWithWhenSecondIsEmpty [ | stream instructions otherInstructions | @@ -71,7 +73,7 @@ WebInteractionInstructionsTest >> testCombinedWithWhenSecondIsEmpty [ self assert: stream contents equals: 'Values are 3' ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testDirectingTo [ | instructions | @@ -89,7 +91,7 @@ WebInteractionInstructionsTest >> testDirectingTo [ ] ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testDirectingToOrderedAt [ | instructions otherInstructions combinedInstructions | @@ -111,7 +113,7 @@ WebInteractionInstructionsTest >> testDirectingToOrderedAt [ ] ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testEmpty [ | instructions | @@ -124,7 +126,7 @@ WebInteractionInstructionsTest >> testEmpty [ self renderUsing: [ :canvas | self assert: ( instructions statementsOn: canvas ) isEmpty ] ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testIsEmpty [ | instructions | @@ -133,7 +135,7 @@ WebInteractionInstructionsTest >> testIsEmpty [ self deny: instructions isEmpty ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testNotEmpty [ | instructions | @@ -142,7 +144,7 @@ WebInteractionInstructionsTest >> testNotEmpty [ self assert: instructions notEmpty ] -{ #category : #tests } +{ #category : 'tests' } WebInteractionInstructionsTest >> testStatementsOn [ | instructions | diff --git a/source/Willow-Core-Tests/WebInteractionInterpreterTest.class.st b/source/Willow-Core-Tests/WebInteractionInterpreterTest.class.st index 6bc3feff..62dffe13 100644 --- a/source/Willow-Core-Tests/WebInteractionInterpreterTest.class.st +++ b/source/Willow-Core-Tests/WebInteractionInterpreterTest.class.st @@ -1,31 +1,33 @@ Class { - #name : #WebInteractionInterpreterTest, - #superclass : #BWRenderingTest, + #name : 'WebInteractionInterpreterTest', + #superclass : 'BWRenderingTest', #pools : [ 'Willow' ], - #category : #'Willow-Core-Tests-WebInteraction' + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #'test support' } +{ #category : 'test support' } WebInteractionInterpreterTest >> changeInterpreter [ ^ WebInteractionInterpreter calling: #change serializingWith: SerializationCommand forCurrentObject ] -{ #category : #'test support' } +{ #category : 'test support' } WebInteractionInterpreterTest >> clickInterpreter [ ^ WebInteractionInterpreter calling: #click serializingWith: NullWebInteractionCommand new ] -{ #category : #'test support' } +{ #category : 'test support' } WebInteractionInterpreterTest >> configureTextInputWith: interpreter [ ^ self apply: interpreter toComponentDefinedBy: [ :canvas | canvas textInput ] ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testAddCssClass [ | interpreter html | @@ -39,7 +41,7 @@ WebInteractionInterpreterTest >> testAddCssClass [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testAddCssClassToComponentsMatching [ | interpreter html | @@ -55,7 +57,7 @@ WebInteractionInterpreterTest >> testAddCssClassToComponentsMatching [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testAjaxCallsEvaluateTheBlock [ | interpreter evaluated | @@ -74,7 +76,7 @@ WebInteractionInterpreterTest >> testAjaxCallsEvaluateTheBlock [ self assert: evaluated ] -{ #category : #'tests - evaluating' } +{ #category : 'tests - evaluating' } WebInteractionInterpreterTest >> testApplyToOn [ | interpreter html | @@ -91,7 +93,7 @@ WebInteractionInterpreterTest >> testApplyToOn [ '' ] -{ #category : #'tests - Instance Creation' } +{ #category : 'tests - Instance Creation' } WebInteractionInterpreterTest >> testCallingSerializingWith [ | interpreter html | @@ -107,7 +109,7 @@ WebInteractionInterpreterTest >> testCallingSerializingWith [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testChangeCssClassTo [ | interpreter html | @@ -129,7 +131,7 @@ WebInteractionInterpreterTest >> testChangeCssClassTo [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } WebInteractionInterpreterTest >> testCloseAllDialogs [ | interpreter html | @@ -143,7 +145,7 @@ WebInteractionInterpreterTest >> testCloseAllDialogs [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } WebInteractionInterpreterTest >> testCloseLastDialog [ | interpreter html | @@ -157,7 +159,7 @@ WebInteractionInterpreterTest >> testCloseLastDialog [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testConfirmAsking [ | interpreter html | @@ -171,7 +173,7 @@ WebInteractionInterpreterTest >> testConfirmAsking [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testConflictingSerializationCommandsAreNotAllowed [ | interpreter id | @@ -196,7 +198,7 @@ WebInteractionInterpreterTest >> testConflictingSerializationCommandsAreNotAllow ] ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testDisable [ | interpreter html id | @@ -220,7 +222,7 @@ WebInteractionInterpreterTest >> testDisable [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testEnable [ | interpreter html id | @@ -244,7 +246,7 @@ WebInteractionInterpreterTest >> testEnable [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testFocus [ | interpreter html id | @@ -268,7 +270,7 @@ WebInteractionInterpreterTest >> testFocus [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testFocusUsing [ | interpreter html | @@ -284,7 +286,7 @@ WebInteractionInterpreterTest >> testFocusUsing [ '' ] -{ #category : #'tests - Instance Creation' } +{ #category : 'tests - Instance Creation' } WebInteractionInterpreterTest >> testForEvaluationOfWithAll [ | interpreter html | @@ -295,7 +297,7 @@ WebInteractionInterpreterTest >> testForEvaluationOfWithAll [ self assert: html equals: '' ] -{ #category : #'tests - Instance Creation' } +{ #category : 'tests - Instance Creation' } WebInteractionInterpreterTest >> testForInstantEvaluation [ | interpreter html | @@ -309,7 +311,7 @@ WebInteractionInterpreterTest >> testForInstantEvaluation [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testInform [ | interpreter html | @@ -323,7 +325,7 @@ WebInteractionInterpreterTest >> testInform [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testInformSelection [ | interpreter html | @@ -337,7 +339,7 @@ WebInteractionInterpreterTest >> testInformSelection [ '' ] -{ #category : #'tests - Configuring - Dialogs' } +{ #category : 'tests - Configuring - Dialogs' } WebInteractionInterpreterTest >> testOpen [ | interpreter html | @@ -351,7 +353,7 @@ WebInteractionInterpreterTest >> testOpen [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testRemove [ | interpreter html id | @@ -375,7 +377,7 @@ WebInteractionInterpreterTest >> testRemove [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testRemoveCssClassFromComponentsMatching [ | interpreter html | @@ -391,7 +393,7 @@ WebInteractionInterpreterTest >> testRemoveCssClassFromComponentsMatching [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testRemoveCssClassFromComponentsWithClass [ | interpreter html | @@ -409,7 +411,7 @@ WebInteractionInterpreterTest >> testRemoveCssClassFromComponentsWithClass [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testRender [ | interpreter html id | @@ -438,7 +440,7 @@ WebInteractionInterpreterTest >> testRender [ '
15
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testRenderAll [ | interpreter html id | @@ -473,7 +475,7 @@ WebInteractionInterpreterTest >> testRenderAll [ '
15
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testRenderIsAddedLast [ | interpreter id | @@ -502,7 +504,7 @@ WebInteractionInterpreterTest >> testRenderIsAddedLast [ self assert: self requestContext response contents equals: '$("#container-id1").html("27")' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testScrollingIntoView [ | interpreter html id | @@ -525,7 +527,7 @@ WebInteractionInterpreterTest >> testScrollingIntoView [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeChildForm [ | interpreter html id | @@ -549,7 +551,7 @@ WebInteractionInterpreterTest >> testSerializeChildForm [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeContainerForm [ | interpreter html id | @@ -573,7 +575,7 @@ WebInteractionInterpreterTest >> testSerializeContainerForm [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeForm [ | interpreter html id | @@ -599,7 +601,7 @@ WebInteractionInterpreterTest >> testSerializeForm [ '
' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeIt [ | interpreter html id | @@ -623,7 +625,7 @@ WebInteractionInterpreterTest >> testSerializeIt [ '' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeItTwiceIsNotAllowed [ | interpreter | @@ -646,7 +648,7 @@ WebInteractionInterpreterTest >> testSerializeItTwiceIsNotAllowed [ ] ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSerializeWithHiddenInputs [ | interpreter html id | @@ -670,7 +672,7 @@ WebInteractionInterpreterTest >> testSerializeWithHiddenInputs [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testServerDo [ | interpreter html | @@ -684,7 +686,7 @@ WebInteractionInterpreterTest >> testServerDo [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testSetValueToThenTriggerChangeOf [ | interpreter html id | @@ -710,7 +712,7 @@ WebInteractionInterpreterTest >> testSetValueToThenTriggerChangeOf [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testSetValueToWithoutTriggeringChangeOf [ | interpreter html id | @@ -736,7 +738,7 @@ WebInteractionInterpreterTest >> testSetValueToWithoutTriggeringChangeOf [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testShowLoadingNotificationDisplayingApplying [ | interpreter html | @@ -751,10 +753,10 @@ WebInteractionInterpreterTest >> testShowLoadingNotificationDisplayingApplying [ self assert: html equals: - '' + '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testShowLoadingNotificationStyledAsAll [ | interpreter html | @@ -767,10 +769,10 @@ WebInteractionInterpreterTest >> testShowLoadingNotificationStyledAsAll [ self assert: html equals: - '' + '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testShowWhileCallingServerToRender [ | html link container | @@ -795,7 +797,7 @@ WebInteractionInterpreterTest >> testShowWhileCallingServerToRender [ 'Search!
' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSubmitForm [ | interpreter html id | @@ -821,7 +823,7 @@ WebInteractionInterpreterTest >> testSubmitForm [ '
' ] -{ #category : #'tests - Configuring - Serialization' } +{ #category : 'tests - Configuring - Serialization' } WebInteractionInterpreterTest >> testSubmitFormStyledAs [ | interpreter html | @@ -845,7 +847,7 @@ WebInteractionInterpreterTest >> testSubmitFormStyledAs [ '
' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testTemporarilyDisableAndTransformInto [ | interpreter html id | @@ -868,7 +870,7 @@ WebInteractionInterpreterTest >> testTemporarilyDisableAndTransformInto [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testTemporarilyDisableAndTransformSelfInto [ | interpreter html id | @@ -891,7 +893,7 @@ WebInteractionInterpreterTest >> testTemporarilyDisableAndTransformSelfInto [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testToggleCssClass [ | interpreter html | @@ -909,7 +911,7 @@ WebInteractionInterpreterTest >> testToggleCssClass [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testToggleCssClassOn [ | interpreter element html | @@ -930,7 +932,7 @@ WebInteractionInterpreterTest >> testToggleCssClassOn [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testToggleCssClassOnComponentsMatching [ | interpreter html | @@ -946,7 +948,7 @@ WebInteractionInterpreterTest >> testToggleCssClassOnComponentsMatching [ '' ] -{ #category : #'tests - Configuring - DOM' } +{ #category : 'tests - Configuring - DOM' } WebInteractionInterpreterTest >> testTransformInto [ | html link container | @@ -971,7 +973,7 @@ WebInteractionInterpreterTest >> testTransformInto [ 'Search!
' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testUpdateCssClasses [ | interpreter html | @@ -985,7 +987,7 @@ WebInteractionInterpreterTest >> testUpdateCssClasses [ '' ] -{ #category : #'tests - Configuring - CSS' } +{ #category : 'tests - Configuring - CSS' } WebInteractionInterpreterTest >> testUpdateCssClassesOnElementsMatching [ | interpreter html | @@ -1001,7 +1003,7 @@ WebInteractionInterpreterTest >> testUpdateCssClassesOnElementsMatching [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testUserAgentDo [ | interpreter html | @@ -1015,7 +1017,7 @@ WebInteractionInterpreterTest >> testUserAgentDo [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testWithOnlyWhenServerDo [ | interpreter html | @@ -1032,7 +1034,7 @@ WebInteractionInterpreterTest >> testWithOnlyWhenServerDo [ '' ] -{ #category : #'tests - Configuring' } +{ #category : 'tests - Configuring' } WebInteractionInterpreterTest >> testWithServerDo [ | interpreter html | @@ -1046,7 +1048,7 @@ WebInteractionInterpreterTest >> testWithServerDo [ '' ] -{ #category : #'tests - Instance Creation' } +{ #category : 'tests - Instance Creation' } WebInteractionInterpreterTest >> testWorkingWith [ | interpreter html | diff --git a/source/Willow-Core-Tests/WillowApplicationTest.class.st b/source/Willow-Core-Tests/WillowApplicationTest.class.st index 9e925d4d..41cf400e 100644 --- a/source/Willow-Core-Tests/WillowApplicationTest.class.st +++ b/source/Willow-Core-Tests/WillowApplicationTest.class.st @@ -2,45 +2,47 @@ A WillowApplicationTest is a test class for testing the behavior of WillowApplication " Class { - #name : #WillowApplicationTest, - #superclass : #BWRenderingTest, + #name : 'WillowApplicationTest', + #superclass : 'BWRenderingTest', #instVars : [ 'applicationStarted' ], - #category : #'Willow-Core-Tests-Applications' + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowApplicationTest >> componentSupplier [ ^ Html5ComponentSupplier new ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplicationTest >> createHandlers [ ^ Array with: self ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplicationTest >> isSession [ ^ true ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplicationTest >> preferenceAt: aSymbol ifAbsent: aBlock [ ^ aBlock value ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplicationTest >> startUpApplicationContextFor: aWillowApplication [ applicationStarted := true ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testComponentSupplierForApplication [ | supplier application | @@ -51,7 +53,7 @@ WillowApplicationTest >> testComponentSupplierForApplication [ self assert: application equals: supplier ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testDeploymentMode [ self @@ -59,7 +61,7 @@ WillowApplicationTest >> testDeploymentMode [ [ :canvas | self assert: (WillowApplication new deploymentMode isA: WAApplicationInDevelopment) ] ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testIinitialRequest [ applicationStarted := false. @@ -69,7 +71,7 @@ WillowApplicationTest >> testIinitialRequest [ self assert: applicationStarted ] ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testRegisterAsDeployedApplication [ | handlers | @@ -82,7 +84,7 @@ WillowApplicationTest >> testRegisterAsDeployedApplication [ self deny: ( handlers includesKey: WillowTestingApplication handlerName ) ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testRegisterAsDevelopmentApplication [ | handlers | @@ -95,7 +97,7 @@ WillowApplicationTest >> testRegisterAsDevelopmentApplication [ self deny: ( handlers includesKey: WillowTestingApplication handlerName ) ] -{ #category : #tests } +{ #category : 'tests' } WillowApplicationTest >> testRenderContentOn [ | html application | diff --git a/source/Willow-Core-Tests/WillowConstantsTest.class.st b/source/Willow-Core-Tests/WillowConstantsTest.class.st index 32df012b..cfdf17d0 100644 --- a/source/Willow-Core-Tests/WillowConstantsTest.class.st +++ b/source/Willow-Core-Tests/WillowConstantsTest.class.st @@ -2,18 +2,20 @@ A WillowConstantsTest is a test class for testing the constants provided by the library " Class { - #name : #WillowConstantsTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Frontend' + #name : 'WillowConstantsTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Frontend', + #package : 'Willow-Core-Tests', + #tag : 'Frontend' } -{ #category : #'private - asserting' } +{ #category : 'private - asserting' } WillowConstantsTest >> assertARIAConstant: aSymbol equals: anExpectedValue [ self assert: Willow constants >> #aria >> aSymbol equals: anExpectedValue ] -{ #category : #tests } +{ #category : 'tests' } WillowConstantsTest >> testBlockExtension [ | html | @@ -25,7 +27,7 @@ WillowConstantsTest >> testBlockExtension [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WillowConstantsTest >> testCssConstants [ [ :command :constants | @@ -34,7 +36,7 @@ WillowConstantsTest >> testCssConstants [ assert: constants >> #css >> #allPetiteCaps equals: 'all-petite-caps' ] asWebComponentCommand ] -{ #category : #tests } +{ #category : 'tests' } WillowConstantsTest >> testDocumentStructureRoles [ self @@ -65,7 +67,7 @@ WillowConstantsTest >> testDocumentStructureRoles [ assertARIAConstant: #tooltip equals: 'tooltip' ] -{ #category : #tests } +{ #category : 'tests' } WillowConstantsTest >> testExtraRoles [ self @@ -86,7 +88,7 @@ WillowConstantsTest >> testExtraRoles [ assertARIAConstant: #timer equals: 'timer' ] -{ #category : #tests } +{ #category : 'tests' } WillowConstantsTest >> testWidgetRoles [ self diff --git a/source/Willow-Core-Tests/WillowJavascriptNamespaceTest.class.st b/source/Willow-Core-Tests/WillowJavascriptNamespaceTest.class.st index 30028912..495b7b17 100644 --- a/source/Willow-Core-Tests/WillowJavascriptNamespaceTest.class.st +++ b/source/Willow-Core-Tests/WillowJavascriptNamespaceTest.class.st @@ -2,30 +2,32 @@ A WillowJavascriptNamespaceTest is a test class for testing the behavior of WillowJavascriptNamespace " Class { - #name : #WillowJavascriptNamespaceTest, - #superclass : #JSObjectTest, - #category : #'Willow-Core-Tests-Applications' + #name : 'WillowJavascriptNamespaceTest', + #superclass : 'JSObjectTest', + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #'tests-Accessing' } +{ #category : 'tests-Accessing' } WillowJavascriptNamespaceTest >> testCallServerFunction [ self assert: WillowJavascriptNamespace new callServerFunction equals: 'Willow.callServer' ] -{ #category : #'tests-printing' } +{ #category : 'tests-printing' } WillowJavascriptNamespaceTest >> testClassificationAccess [ self assert: Willow classification >> #loading equals: 'willow-loading' asJavascript ] -{ #category : #'tests-printing' } +{ #category : 'tests-printing' } WillowJavascriptNamespaceTest >> testConstantsAccess [ self assert: WillowJavascriptNamespace new constants >> #css >> #auto equals: 'auto' asJavascript ] -{ #category : #'tests-Accessing' } +{ #category : 'tests-Accessing' } WillowJavascriptNamespaceTest >> testHandleAjaxErrorCallFunction [ self @@ -33,13 +35,13 @@ WillowJavascriptNamespaceTest >> testHandleAjaxErrorCallFunction [ equals: 'Willow.handleAjaxErrorCall' ] -{ #category : #'tests-printing' } +{ #category : 'tests-printing' } WillowJavascriptNamespaceTest >> testJavascriptContentOn [ self assert: WillowJavascriptNamespace new equals: 'Willow' ] -{ #category : #'tests-Configuring' } +{ #category : 'tests-Configuring' } WillowJavascriptNamespaceTest >> testSetCallServerFunctionTo [ self @@ -49,7 +51,7 @@ WillowJavascriptNamespaceTest >> testSetCallServerFunctionTo [ equals: 'Willow.callServer=function(arguments){}' ] -{ #category : #'tests-Configuring' } +{ #category : 'tests-Configuring' } WillowJavascriptNamespaceTest >> testSetHandleAjaxErrorCallFunctionTo [ self diff --git a/source/Willow-Core-Tests/WillowJavascriptTest.class.st b/source/Willow-Core-Tests/WillowJavascriptTest.class.st index f158e005..01e4d131 100644 --- a/source/Willow-Core-Tests/WillowJavascriptTest.class.st +++ b/source/Willow-Core-Tests/WillowJavascriptTest.class.st @@ -1,10 +1,12 @@ Class { - #name : #WillowJavascriptTest, - #superclass : #JSObjectTest, - #category : #'Willow-Core-Tests-WebInteraction' + #name : 'WillowJavascriptTest', + #superclass : 'JSObjectTest', + #category : 'Willow-Core-Tests-WebInteraction', + #package : 'Willow-Core-Tests', + #tag : 'WebInteraction' } -{ #category : #tests } +{ #category : 'tests' } WillowJavascriptTest >> testJSConcatenateBefore [ | jsObject | diff --git a/source/Willow-Core-Tests/WillowNamespaceFileMetadataLibraryTest.class.st b/source/Willow-Core-Tests/WillowNamespaceFileMetadataLibraryTest.class.st index 3305d6b5..9f278a3a 100644 --- a/source/Willow-Core-Tests/WillowNamespaceFileMetadataLibraryTest.class.st +++ b/source/Willow-Core-Tests/WillowNamespaceFileMetadataLibraryTest.class.st @@ -2,12 +2,14 @@ A WillowNamespaceFileMetadataLibraryTest is a test class for testing the behavior of WillowNamespaceFileMetadataLibrary " Class { - #name : #WillowNamespaceFileMetadataLibraryTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Libraries' + #name : 'WillowNamespaceFileMetadataLibraryTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Libraries', + #package : 'Willow-Core-Tests', + #tag : 'Libraries' } -{ #category : #tests } +{ #category : 'tests' } WillowNamespaceFileMetadataLibraryTest >> testDeployFiles [ self @@ -20,7 +22,7 @@ WillowNamespaceFileMetadataLibraryTest >> testDeployFiles [ -> 'd01dced3b8eed675fe45b1f8a3cb3470c730150b' )} ] -{ #category : #tests } +{ #category : 'tests' } WillowNamespaceFileMetadataLibraryTest >> testInstanceCreation [ self @@ -28,7 +30,7 @@ WillowNamespaceFileMetadataLibraryTest >> testInstanceCreation [ assert: WillowNamespaceFileMetadataLibrary forDevelopment equals: WillowNamespaceFileMetadataLibrary ] -{ #category : #tests } +{ #category : 'tests' } WillowNamespaceFileMetadataLibraryTest >> testJavascriptCode [ self @@ -45,7 +47,7 @@ var Willow;if(Willow===undefined){Willow={"version":"8.0.1","handleAjaxErrorCall ] -{ #category : #tests } +{ #category : 'tests' } WillowNamespaceFileMetadataLibraryTest >> testTesting [ self diff --git a/source/Willow-Core-Tests/WillowSeasideExtensionsTest.class.st b/source/Willow-Core-Tests/WillowSeasideExtensionsTest.class.st index b0d1bf6b..3e24b5f7 100644 --- a/source/Willow-Core-Tests/WillowSeasideExtensionsTest.class.st +++ b/source/Willow-Core-Tests/WillowSeasideExtensionsTest.class.st @@ -2,12 +2,14 @@ This test case verifies method extensions to Seaside classes " Class { - #name : #WillowSeasideExtensionsTest, - #superclass : #BWRenderingTest, - #category : #'Willow-Core-Tests-Applications' + #name : 'WillowSeasideExtensionsTest', + #superclass : 'BWRenderingTest', + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowSeasideExtensionsTest >> componentSupplier [ "To support calls for the context componentSupplier" @@ -15,19 +17,19 @@ WillowSeasideExtensionsTest >> componentSupplier [ ^ self ] -{ #category : #accessing } +{ #category : 'accessing' } WillowSeasideExtensionsTest >> createHandlers [ ^ Array with: self ] -{ #category : #accessing } +{ #category : 'accessing' } WillowSeasideExtensionsTest >> isSession [ ^ true ] -{ #category : #tests } +{ #category : 'tests' } WillowSeasideExtensionsTest >> testComponentSupplier [ self @@ -42,7 +44,7 @@ WillowSeasideExtensionsTest >> testComponentSupplier [ ] ] -{ #category : #tests } +{ #category : 'tests' } WillowSeasideExtensionsTest >> testGRSmallOrderedSetAt [ | orderedSet | @@ -61,7 +63,7 @@ WillowSeasideExtensionsTest >> testGRSmallOrderedSetAt [ assert: (orderedSet at: 3) equals: 'b' ] -{ #category : #tests } +{ #category : 'tests' } WillowSeasideExtensionsTest >> testIcon [ | html | @@ -71,13 +73,13 @@ WillowSeasideExtensionsTest >> testIcon [ self assert: html equals: '' ] -{ #category : #tests } +{ #category : 'tests' } WillowSeasideExtensionsTest >> testJSObjectWillow [ self assert: JSStream this willow asJavascript equals: 'Willow' ] -{ #category : #tests } +{ #category : 'tests' } WillowSeasideExtensionsTest >> testWAUrlSlash [ | url | diff --git a/source/Willow-Core-Tests/WillowSessionTest.class.st b/source/Willow-Core-Tests/WillowSessionTest.class.st index 6c5904a8..45329472 100644 --- a/source/Willow-Core-Tests/WillowSessionTest.class.st +++ b/source/Willow-Core-Tests/WillowSessionTest.class.st @@ -2,28 +2,30 @@ A WillowSessionTest is a test class for testing the behavior of WillowSession " Class { - #name : #WillowSessionTest, - #superclass : #TestCase, + #name : 'WillowSessionTest', + #superclass : 'TestCase', #instVars : [ 'componentSupplier' ], - #category : #'Willow-Core-Tests-Applications' + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowSessionTest >> componentSupplierForApplication [ ^ componentSupplier ] -{ #category : #initialization } +{ #category : 'initialization' } WillowSessionTest >> setUp [ super setUp. componentSupplier := Html5ComponentSupplier new ] -{ #category : #tests } +{ #category : 'tests' } WillowSessionTest >> testStartUpApplicationContextFor [ | session | diff --git a/source/Willow-Core-Tests/WillowSystemConfigurationTest.class.st b/source/Willow-Core-Tests/WillowSystemConfigurationTest.class.st index 0cad5d8a..e4417919 100644 --- a/source/Willow-Core-Tests/WillowSystemConfigurationTest.class.st +++ b/source/Willow-Core-Tests/WillowSystemConfigurationTest.class.st @@ -2,12 +2,14 @@ A WillowSystemConfigurationTest is a test class for testing the behavior of WillowSystemConfiguration " Class { - #name : #WillowSystemConfigurationTest, - #superclass : #TestCase, - #category : #'Willow-Core-Tests-Applications' + #name : 'WillowSystemConfigurationTest', + #superclass : 'TestCase', + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #'tests-description' } +{ #category : 'tests-description' } WillowSystemConfigurationTest >> testDescribeOn [ | config description attribute | diff --git a/source/Willow-Core-Tests/WillowTestingApplication.class.st b/source/Willow-Core-Tests/WillowTestingApplication.class.st index 86063d88..8b666173 100644 --- a/source/Willow-Core-Tests/WillowTestingApplication.class.st +++ b/source/Willow-Core-Tests/WillowTestingApplication.class.st @@ -2,45 +2,47 @@ I'm a test support class " Class { - #name : #WillowTestingApplication, - #superclass : #WillowApplication, + #name : 'WillowTestingApplication', + #superclass : 'WillowApplication', #instVars : [ 'componentSupplier' ], - #category : #'Willow-Core-Tests-Applications' + #category : 'Willow-Core-Tests-Applications', + #package : 'Willow-Core-Tests', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication class >> applicationTitle [ ^ 'The official testing app' ] -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication class >> handlerName [ ^ 'testing-app' ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WillowTestingApplication class >> new [ ^ self using: Html5ComponentSupplier new ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WillowTestingApplication class >> using: aComponentSupplier [ ^ super new initializeUsing: aComponentSupplier ] -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication >> componentSupplierForApplication [ ^ componentSupplier ] -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication >> contentView [ ^ self componentSupplier @@ -48,19 +50,19 @@ WillowTestingApplication >> contentView [ applying: [ ] ] -{ #category : #initialization } +{ #category : 'initialization' } WillowTestingApplication >> initializeUsing: aComponentSupplier [ componentSupplier := aComponentSupplier ] -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication >> jQueryLibrary [ ^ JQuery3OnlineLibrary default ] -{ #category : #accessing } +{ #category : 'accessing' } WillowTestingApplication >> language [ ^ [ super language ] diff --git a/source/Willow-Core-Tests/package.st b/source/Willow-Core-Tests/package.st index a85bbd6d..5589121f 100644 --- a/source/Willow-Core-Tests/package.st +++ b/source/Willow-Core-Tests/package.st @@ -1 +1 @@ -Package { #name : #'Willow-Core-Tests' } +Package { #name : 'Willow-Core-Tests' } diff --git a/source/Willow-Core/AddTimestampToSourceCommand.class.st b/source/Willow-Core/AddTimestampToSourceCommand.class.st index 453e8670..aa0d03dd 100644 --- a/source/Willow-Core/AddTimestampToSourceCommand.class.st +++ b/source/Willow-Core/AddTimestampToSourceCommand.class.st @@ -2,12 +2,14 @@ Command to append the time to the src attribute. Useful when working with images. " Class { - #name : #AddTimestampToSourceCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'AddTimestampToSourceCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } AddTimestampToSourceCommand >> applyTo: aComponent on: aCanvas [ (aComponent attributeAt: 'src') addField: 'time' value: Time millisecondClockValue diff --git a/source/Willow-Core/AjaxAwareErrorHandler.class.st b/source/Willow-Core/AjaxAwareErrorHandler.class.st index 7c84d87c..0e931e11 100644 --- a/source/Willow-Core/AjaxAwareErrorHandler.class.st +++ b/source/Willow-Core/AjaxAwareErrorHandler.class.st @@ -2,18 +2,20 @@ I'm an error handler supporting a different handling for AJAX requests " Class { - #name : #AjaxAwareErrorHandler, - #superclass : #WAHtmlErrorHandler, + #name : 'AjaxAwareErrorHandler', + #superclass : 'WAHtmlErrorHandler', #instVars : [ 'reportingAction', 'ajaxExceptionHandlers', 'rootCommand', 'nonAjaxRenderBlock' ], - #category : #'Willow-Core-Applications' + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #actions } +{ #category : 'actions' } AjaxAwareErrorHandler >> handleDefault: anException [ self valueReportingActionWhenHandling: anException. @@ -22,7 +24,7 @@ AjaxAwareErrorHandler >> handleDefault: anException [ otherwise: [ super handleDefault: anException ] ] -{ #category : #actions } +{ #category : 'actions' } AjaxAwareErrorHandler >> handleException: anException [ ^ self requestContext request isXmlHttpRequest @@ -34,7 +36,7 @@ AjaxAwareErrorHandler >> handleException: anException [ otherwise: [ super handleException: anException ] ] -{ #category : #initialization } +{ #category : 'initialization' } AjaxAwareErrorHandler >> initializeDefaults [ ajaxExceptionHandlers := GRSmallDictionary new. @@ -44,38 +46,38 @@ AjaxAwareErrorHandler >> initializeDefaults [ renderNonAjaxErrorsWith: [ :canvas :exception | super renderContentForException: exception on: canvas ] ] -{ #category : #initialization } +{ #category : 'initialization' } AjaxAwareErrorHandler >> initializeWithContext: aRequestContext [ super initializeWithContext: aRequestContext. self initializeDefaults ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandler >> on: anExceptionSelector do: aBlock [ ajaxExceptionHandlers at: anExceptionSelector put: aBlock ] -{ #category : #private } +{ #category : 'private' } AjaxAwareErrorHandler >> renderContentForException: anException on: html [ nonAjaxRenderBlock value: html value: anException ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandler >> renderNonAjaxErrorsWith: aDyadicBlock [ nonAjaxRenderBlock := aDyadicBlock ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandler >> reportingAction: aDyadicBlock [ reportingAction := aDyadicBlock ] -{ #category : #actions } +{ #category : 'actions' } AjaxAwareErrorHandler >> respondToXmlHttpRequestWith: aMessageText [ self requestContext @@ -89,20 +91,20 @@ AjaxAwareErrorHandler >> respondToXmlHttpRequestWith: aMessageText [ nextPutAll: aMessageText ] ] -{ #category : #private } +{ #category : 'private' } AjaxAwareErrorHandler >> updateHtmlRoot: root forException: anException [ super updateHtmlRoot: root forException: anException. rootCommand value: root. ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandler >> updateRootWith: aBlock [ rootCommand := aBlock ] -{ #category : #actions } +{ #category : 'actions' } AjaxAwareErrorHandler >> valueReportingActionWhenHandling: anException [ reportingAction cull: self cull: anException diff --git a/source/Willow-Core/AjaxAwareErrorHandlerFactory.class.st b/source/Willow-Core/AjaxAwareErrorHandlerFactory.class.st index 10d72ad1..6cbadb60 100644 --- a/source/Willow-Core/AjaxAwareErrorHandlerFactory.class.st +++ b/source/Willow-Core/AjaxAwareErrorHandlerFactory.class.st @@ -2,18 +2,20 @@ I'm a builder of AjaxAwareErrorHandlers, just because you cannot control the creation of them. " Class { - #name : #AjaxAwareErrorHandlerFactory, - #superclass : #GRObject, + #name : 'AjaxAwareErrorHandlerFactory', + #superclass : 'GRObject', #instVars : [ 'reportingActionOptional', 'rootCommandOptional', 'nonAjaxRenderBlockOptional', 'ajaxErrorHandlers' ], - #category : #'Willow-Core-Applications' + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #'Error Handler - API' } +{ #category : 'Error Handler - API' } AjaxAwareErrorHandlerFactory >> , anException [ ^ ajaxErrorHandlers keys @@ -21,7 +23,7 @@ AjaxAwareErrorHandlerFactory >> , anException [ into: [ :exceptionSet :currentExceptionSelector | exceptionSet , currentExceptionSelector ] ] -{ #category : #'Error Handler - API' } +{ #category : 'Error Handler - API' } AjaxAwareErrorHandlerFactory >> context: aRequestContext [ | handler | @@ -38,20 +40,20 @@ AjaxAwareErrorHandlerFactory >> context: aRequestContext [ ^ handler ] -{ #category : #'Error Handler - API' } +{ #category : 'Error Handler - API' } AjaxAwareErrorHandlerFactory >> handleExceptionsDuring: aBlock context: aRequestContext [ ^ (self context: aRequestContext) handleExceptionsDuring: aBlock ] -{ #category : #'Error Handler - API' } +{ #category : 'Error Handler - API' } AjaxAwareErrorHandlerFactory >> handles: anException [ ^ (AjaxAwareErrorHandler handles: anException) or: [ ajaxErrorHandlers keys anySatisfy: [ :handler | handler handles: anException ] ] ] -{ #category : #initialization } +{ #category : 'initialization' } AjaxAwareErrorHandlerFactory >> initialize [ super initialize. @@ -61,31 +63,31 @@ AjaxAwareErrorHandlerFactory >> initialize [ rootCommandOptional := Optional unused ] -{ #category : #'Error Handler - API' } +{ #category : 'Error Handler - API' } AjaxAwareErrorHandlerFactory >> internalError: anError context: aRequestContext [ ^ (self context: aRequestContext) internalError: anError ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandlerFactory >> on: anExceptionSelector do: aBlock [ ajaxErrorHandlers at: anExceptionSelector put: aBlock ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandlerFactory >> renderNonAjaxErrorsWith: aDyadicBlock [ nonAjaxRenderBlockOptional := Optional containing: aDyadicBlock ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandlerFactory >> reportingAction: aMonadycBlock [ reportingActionOptional := Optional containing: aMonadycBlock ] -{ #category : #Configuring } +{ #category : 'Configuring' } AjaxAwareErrorHandlerFactory >> updateRootWith: aBlock [ rootCommandOptional := Optional containing: aBlock diff --git a/source/Willow-Core/AlertingCommand.class.st b/source/Willow-Core/AlertingCommand.class.st index 05cb1a88..09b89eaf 100644 --- a/source/Willow-Core/AlertingCommand.class.st +++ b/source/Willow-Core/AlertingCommand.class.st @@ -2,58 +2,60 @@ I'm a WebInteractionCommand used to show an alert, useful for low level debugging purposes. " Class { - #name : #AlertingCommand, - #superclass : #WebInteractionCommand, + #name : 'AlertingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'messageProvider' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } AlertingCommand class >> informingSelection [ ^ self obtainingMessageFrom: [ :aCanvas | ( aCanvas jQuery this children: 'option:selected' ) call: 'text' ] ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } AlertingCommand class >> obtainingMessageFrom: aMessageProvider [ ^ self new initializeObtainingMessageFrom: aMessageProvider ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } AlertingCommand class >> stating: aText [ ^ self obtainingMessageFrom: [ :aCanvas | aText ] ] -{ #category : #initialization } +{ #category : 'initialization' } AlertingCommand >> initializeObtainingMessageFrom: aMessageProvider [ messageProvider := aMessageProvider ] -{ #category : #accessing } +{ #category : 'accessing' } AlertingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } AlertingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } AlertingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } AlertingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions diff --git a/source/Willow-Core/AsynchronicButtonWebView.class.st b/source/Willow-Core/AsynchronicButtonWebView.class.st index 7fd6a09c..7dea227d 100644 --- a/source/Willow-Core/AsynchronicButtonWebView.class.st +++ b/source/Willow-Core/AsynchronicButtonWebView.class.st @@ -2,42 +2,44 @@ I'm a push button used to trigger actions using AJAX " Class { - #name : #AsynchronicButtonWebView, - #superclass : #WAPainter, + #name : 'AsynchronicButtonWebView', + #superclass : 'WAPainter', #instVars : [ 'identifierAssigner', 'commandToComponent', 'interactionInterpreter', 'label' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } AsynchronicButtonWebView class >> labeled: aLabel [ ^ self labeled: aLabel applying: [ :button | ] ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } AsynchronicButtonWebView class >> labeled: aLabel applying: aComponentCommand [ ^ self new initializeLabeled: aLabel applying: aComponentCommand asWebComponentCommand ] -{ #category : #configuring } +{ #category : 'configuring' } AsynchronicButtonWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #accessing } +{ #category : 'accessing' } AsynchronicButtonWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } AsynchronicButtonWebView >> initializeLabeled: aLabel applying: aComponentCommand [ label := aLabel. @@ -46,13 +48,13 @@ AsynchronicButtonWebView >> initializeLabeled: aLabel applying: aComponentComman interactionInterpreter := EventInterpreterDispatcher defaultingToClick ] -{ #category : #configuring } +{ #category : 'configuring' } AsynchronicButtonWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } AsynchronicButtonWebView >> renderContentOn: aCanvas [ "We send bePush to the button because, by default, Seaside made it with type = submit" diff --git a/source/Willow-Core/AutoFocusComponentCommand.class.st b/source/Willow-Core/AutoFocusComponentCommand.class.st index a96c0286..80a4a622 100644 --- a/source/Willow-Core/AutoFocusComponentCommand.class.st +++ b/source/Willow-Core/AutoFocusComponentCommand.class.st @@ -2,12 +2,14 @@ Command to force autofocus on rendering of a component. " Class { - #name : #AutoFocusComponentCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'AutoFocusComponentCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } AutoFocusComponentCommand >> applyTo: aComponent on: aCanvas [ aComponent autofocus diff --git a/source/Willow-Core/BinaryChoiceWebViewBehavior.class.st b/source/Willow-Core/BinaryChoiceWebViewBehavior.class.st index 9283e796..d8b6598b 100644 --- a/source/Willow-Core/BinaryChoiceWebViewBehavior.class.st +++ b/source/Willow-Core/BinaryChoiceWebViewBehavior.class.st @@ -2,40 +2,42 @@ I'm an abstract class representing binary choice web views " Class { - #name : #BinaryChoiceWebViewBehavior, - #superclass : #WAPainter, + #name : 'BinaryChoiceWebViewBehavior', + #superclass : 'WAPainter', #instVars : [ 'interested', 'iterator' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #testing } +{ #category : 'testing' } BinaryChoiceWebViewBehavior class >> isAbstract [ ^ self name = #BinaryChoiceWebViewBehavior ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } BinaryChoiceWebViewBehavior class >> onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff [ ^self new initializeOnModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> allows: aModel [ ^ iterator includes: aModel ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> currentSelection [ ^ iterator current ] -{ #category : #initialization } +{ #category : 'initialization' } BinaryChoiceWebViewBehavior >> initializeOnModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff [ iterator := CircularIterator @@ -45,25 +47,25 @@ BinaryChoiceWebViewBehavior >> initializeOnModel: anObjectToUseWhenOn offModel: interested := Set new ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> notifyChangesTo: aSupervisor [ interested add: aSupervisor ] -{ #category : #private } +{ #category : 'private' } BinaryChoiceWebViewBehavior >> notifyInterested [ interested do: [ :anInterested | anInterested changeNotifiedBy: self ] ] -{ #category : #configuring } +{ #category : 'configuring' } BinaryChoiceWebViewBehavior >> on [ ^ self subclassResponsibility ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> selectOffModel [ iterator reset. @@ -71,14 +73,14 @@ BinaryChoiceWebViewBehavior >> selectOffModel [ self notifyInterested ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> selectOnModel [ iterator reset. self notifyInterested ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } BinaryChoiceWebViewBehavior >> toggleCurrentSelection [ iterator next. diff --git a/source/Willow-Core/BlockClosure.extension.st b/source/Willow-Core/BlockClosure.extension.st index 51cbb0c4..dce43c61 100644 --- a/source/Willow-Core/BlockClosure.extension.st +++ b/source/Willow-Core/BlockClosure.extension.st @@ -1,12 +1,12 @@ -Extension { #name : #BlockClosure } +Extension { #name : 'BlockClosure' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } BlockClosure >> asTableRowCommand [ ^ self asWebComponentCommand asTableRowCommand ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } BlockClosure >> asWebComponentCommand [ ^ ( self cull: WebComponentCommandBuilder new cull: Willow constants ) diff --git a/source/Willow-Core/CheckboxWebView.class.st b/source/Willow-Core/CheckboxWebView.class.st index 40249582..2829261b 100644 --- a/source/Willow-Core/CheckboxWebView.class.st +++ b/source/Willow-Core/CheckboxWebView.class.st @@ -2,8 +2,8 @@ I'm a binary choice web view implemented as a checkbox " Class { - #name : #CheckboxWebView, - #superclass : #BinaryChoiceWebViewBehavior, + #name : 'CheckboxWebView', + #superclass : 'BinaryChoiceWebViewBehavior', #instVars : [ 'commandToComponent', 'interactionInterpreter', @@ -11,10 +11,12 @@ Class { 'isChecked', 'labelOptional' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CheckboxWebView class >> labeled: aRenderable onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ ^ self @@ -24,7 +26,7 @@ CheckboxWebView class >> labeled: aRenderable onModel: anObjectToUseWhenOn offMo applying: aCommandToComponent ] -{ #category : #'private-instance creation' } +{ #category : 'private-instance creation' } CheckboxWebView class >> labeledAccordingTo: aLabelOptional onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ ^ (super onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff) @@ -32,13 +34,13 @@ CheckboxWebView class >> labeledAccordingTo: aLabelOptional onModel: anObjectToU applying: aCommandToComponent asWebComponentCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } CheckboxWebView class >> onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff [ ^ self onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: [ :checkbox | ] ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } CheckboxWebView class >> onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ ^ self @@ -48,19 +50,19 @@ CheckboxWebView class >> onModel: anObjectToUseWhenOn offModel: anObjectToUseWhe applying: aCommandToComponent ] -{ #category : #configuring } +{ #category : 'configuring' } CheckboxWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #accessing } +{ #category : 'accessing' } CheckboxWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } CheckboxWebView >> initializeLabeledAccordingTo: anOptionalLabel applying: aCommandToComponent [ labelOptional := anOptionalLabel. @@ -70,13 +72,13 @@ CheckboxWebView >> initializeLabeledAccordingTo: anOptionalLabel applying: aComm isChecked := true ] -{ #category : #configuring } +{ #category : 'configuring' } CheckboxWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } CheckboxWebView >> renderContentOn: aCanvas [ | checkbox | @@ -90,7 +92,7 @@ CheckboxWebView >> renderContentOn: aCanvas [ interactionInterpreter applyTo: checkbox on: aCanvas ] -{ #category : #'private - rendering' } +{ #category : 'private - rendering' } CheckboxWebView >> renderOptionalLabelRelatedTo: checkbox on: aCanvas [ labelOptional @@ -106,21 +108,21 @@ CheckboxWebView >> renderOptionalLabelRelatedTo: checkbox on: aCanvas [ ifUnused: [ checkbox beIdentifiableUsing: identifierAssigner ] ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } CheckboxWebView >> selectOffModel [ super selectOffModel. isChecked := false ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } CheckboxWebView >> selectOnModel [ super selectOnModel. isChecked := true ] -{ #category : #'Binary Choice-API' } +{ #category : 'Binary Choice-API' } CheckboxWebView >> toggleCurrentSelection [ isChecked := isChecked not. diff --git a/source/Willow-Core/Codec.class.st b/source/Willow-Core/Codec.class.st index 9c948efd..697d97f7 100644 --- a/source/Willow-Core/Codec.class.st +++ b/source/Willow-Core/Codec.class.st @@ -2,24 +2,26 @@ I'm an abstract class representing a text coder/encoder. " Class { - #name : #Codec, - #superclass : #Object, - #category : #'Willow-Core-Frontend' + #name : 'Codec', + #superclass : 'Object', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } Codec >> canCreate: anObject [ ^self subclassResponsibility ] -{ #category : #converting } +{ #category : 'converting' } Codec >> decode: aString [ ^ self subclassResponsibility ] -{ #category : #converting } +{ #category : 'converting' } Codec >> encode: anObject [ ^ self subclassResponsibility diff --git a/source/Willow-Core/CombinedEventInterpreterDispatcher.class.st b/source/Willow-Core/CombinedEventInterpreterDispatcher.class.st index 642627af..1b09461c 100644 --- a/source/Willow-Core/CombinedEventInterpreterDispatcher.class.st +++ b/source/Willow-Core/CombinedEventInterpreterDispatcher.class.st @@ -1,62 +1,64 @@ Class { - #name : #CombinedEventInterpreterDispatcher, - #superclass : #EventInterpreterDispatcherBehavior, + #name : 'CombinedEventInterpreterDispatcher', + #superclass : 'EventInterpreterDispatcherBehavior', #instVars : [ 'eventInterpreterDispatchers' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CombinedEventInterpreterDispatcher class >> combiningAll: anEventInterpreterDispatcherCollection [ ^ self new initializeCombiningAll: anEventInterpreterDispatcherCollection ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } CombinedEventInterpreterDispatcher class >> combiningInterpretersOfAll: aWebViewCollection [ ^ self combiningAll: ( aWebViewCollection collect: #on ) ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> change [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: #change ) ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> click [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: #click ) ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> eventNamed: anEventName [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: [ :dispatcher | dispatcher eventNamed: anEventName ] ) ] -{ #category : #initialization } +{ #category : 'initialization' } CombinedEventInterpreterDispatcher >> initializeCombiningAll: anEventInterpreterDispatcherCollection [ eventInterpreterDispatchers := anEventInterpreterDispatcherCollection ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> keyUp [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: #keyUp ) ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> mouseOver [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: #mouseOver ) ] -{ #category : #configuring } +{ #category : 'configuring' } CombinedEventInterpreterDispatcher >> trigger [ ^ CombinedWebInteractionInterpreter combining: ( eventInterpreterDispatchers collect: #trigger ) diff --git a/source/Willow-Core/CombinedWebInteractionInterpreter.class.st b/source/Willow-Core/CombinedWebInteractionInterpreter.class.st index 2993f627..63aa6df0 100644 --- a/source/Willow-Core/CombinedWebInteractionInterpreter.class.st +++ b/source/Willow-Core/CombinedWebInteractionInterpreter.class.st @@ -1,209 +1,211 @@ Class { - #name : #CombinedWebInteractionInterpreter, - #superclass : #WebInteractionInterpreterBehavior, + #name : 'CombinedWebInteractionInterpreter', + #superclass : 'WebInteractionInterpreterBehavior', #instVars : [ 'interpreters' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CombinedWebInteractionInterpreter class >> combining: aWebInteractionInterpreterCollection [ ^self new initializeCombining: aWebInteractionInterpreterCollection ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } CombinedWebInteractionInterpreter >> closeAllDialogs [ self interpretersDo: [ :interpreter | interpreter closeAllDialogs ] ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } CombinedWebInteractionInterpreter >> closeLastDialog [ self interpretersDo: [ :interpreter | interpreter closeLastDialog ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> confirmAsking: aQuestion [ self interpretersDo: [:interpreter | interpreter confirmAsking: aQuestion] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> disable [ self interpretersDo: [ :interpreter | interpreter disable ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> disable: aComponent [ self interpretersDo: [ :interpreter | interpreter disable: aComponent ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> enable: aComponent [ self interpretersDo: [ :interpreter | interpreter enable: aComponent ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> focus: anIdentifiedWebView [ self interpretersDo: [ :interpreter | interpreter focus: anIdentifiedWebView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> focusUsing: aComponentProvider [ self interpretersDo: [ :interpreter | interpreter focusUsing: aComponentProvider ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> inform: aMessage [ self interpretersDo: [:interpreter | interpreter inform: aMessage] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> informSelection [ self interpretersDo: [:interpreter | interpreter informSelection] ] -{ #category : #initialization } +{ #category : 'initialization' } CombinedWebInteractionInterpreter >> initializeCombining: aWebInteractionInterpreterCollection [ interpreters := aWebInteractionInterpreterCollection ] -{ #category : #private } +{ #category : 'private' } CombinedWebInteractionInterpreter >> interpretersDo: aBlock [ interpreters do: aBlock ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } CombinedWebInteractionInterpreter >> open: aView [ self interpretersDo: [ :interpreter | interpreter open: aView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> remove: anIdentifiedView [ self interpretersDo: [ :interpreter | interpreter remove: anIdentifiedView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> render: anIdentifiedView [ self interpretersDo: [ :interpreter | interpreter render: anIdentifiedView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> renderAll: anIdentifiedViewCollection [ self interpretersDo: [ :interpreter | interpreter renderAll: anIdentifiedViewCollection ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> scrollingIntoView: anIdentifier [ self interpretersDo: [:interpreter | interpreter scrollingIntoView: anIdentifier] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> serializeChildForm [ self interpretersDo: [:interpreter | interpreter serializeChildForm] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> serializeContainerForm [ self interpretersDo: [:interpreter | interpreter serializeContainerForm] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> serializeForm: anIdentifiedForm [ self interpretersDo: [ :interpreter | interpreter serializeForm: anIdentifiedForm ] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> serializeIt [ self interpretersDo: [:interpreter | interpreter serializeIt] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> serializeWithHiddenInputs [ self interpretersDo: [:interpreter | interpreter serializeWithHiddenInputs] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> serverDo: aCallbackBlock [ self interpretersDo: [ :interpreter | interpreter serverDo: aCallbackBlock ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> setValueTo: aValueProvider thenTriggerChangeOf: anIdentifiedView [ self interpretersDo: [ :interpreter | interpreter setValueTo: aValueProvider thenTriggerChangeOf: anIdentifiedView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> setValueTo: aValueProvider withoutTriggeringChangeOf: aView [ self interpretersDo: [ :interpreter | interpreter setValueTo: aValueProvider withoutTriggeringChangeOf: aView ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> showLoadingNotificationDisplaying: aWebView applying: aComponentCommand [ self interpretersDo: [ :interpreter | interpreter showLoadingNotificationDisplaying: aWebView applying: aComponentCommand ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> showLoadingNotificationStyledAsAll: classes [ self interpretersDo: [ :interpreter | interpreter showLoadingNotificationStyledAsAll: classes ] ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } CombinedWebInteractionInterpreter >> submitForm: anIdentifiedForm [ self interpretersDo: [ :interpreter | interpreter submitForm: anIdentifiedForm ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> submitFormStyledAs: aCssStyle [ self interpretersDo: [ :interpreter | interpreter submitFormStyledAs: aCssStyle ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> temporarilyDisableAndTransform: anIdentifiedView into: aView [ self interpretersDo: [ :interpreter | interpreter temporarilyDisableAndTransform: anIdentifiedView into: aView ] ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } CombinedWebInteractionInterpreter >> temporarilyDisableAndTransformInto: aView [ self interpretersDo: [ :interpreter | interpreter temporarilyDisableAndTransformInto: aView ] ] -{ #category : #'Configuring - CSS' } +{ #category : 'Configuring - CSS' } CombinedWebInteractionInterpreter >> updateCssClasses: aCssClassConfigurationBlock onElementsMatching: anElementMatchingBlock [ @@ -212,20 +214,20 @@ CombinedWebInteractionInterpreter >> updateCssClasses: aCssClassConfigurationBlo [ :interpreter | interpreter updateCssClasses: aCssClassConfigurationBlock onElementsMatching: anElementMatchingBlock ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> userAgentDo: aServerIndependentAction [ self interpretersDo: [ :interpreter | interpreter userAgentDo: aServerIndependentAction ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> with: aParameter onlyWhen: aStringCondition serverDo: aCallbackBlock [ self interpretersDo: [ :interpreter | interpreter with: aParameter onlyWhen: aStringCondition serverDo: aCallbackBlock ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } CombinedWebInteractionInterpreter >> with: aParameter serverDo: aCallbackBlock [ self interpretersDo: [ :interpreter | interpreter with: aParameter serverDo: aCallbackBlock ] diff --git a/source/Willow-Core/ComponentAccessibilityEnrichmentCommand.class.st b/source/Willow-Core/ComponentAccessibilityEnrichmentCommand.class.st index ab7ade33..a4493e1c 100644 --- a/source/Willow-Core/ComponentAccessibilityEnrichmentCommand.class.st +++ b/source/Willow-Core/ComponentAccessibilityEnrichmentCommand.class.st @@ -3,22 +3,24 @@ A command to add attributes with custom information: aria-* = ""value"" " Class { - #name : #ComponentAccessibilityEnrichmentCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentAccessibilityEnrichmentCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'name', 'content' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentAccessibilityEnrichmentCommand class >> toDeclare: aName with: aContent [ ^ self new initializeToDeclare: aName with: aContent ] -{ #category : #processing } +{ #category : 'processing' } ComponentAccessibilityEnrichmentCommand >> applyTo: aComponent on: aCanvas [ (ComponentAttributeCommand named: self ariaAttribute with: content) @@ -26,13 +28,13 @@ ComponentAccessibilityEnrichmentCommand >> applyTo: aComponent on: aCanvas [ on: aCanvas ] -{ #category : #private } +{ #category : 'private' } ComponentAccessibilityEnrichmentCommand >> ariaAttribute [ ^ 'aria-<1s>' expandMacrosWith: name ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentAccessibilityEnrichmentCommand >> initializeToDeclare: aName with: aContent [ name := aName. diff --git a/source/Willow-Core/ComponentAttributeCommand.class.st b/source/Willow-Core/ComponentAttributeCommand.class.st index 64ec10f4..e02aa045 100644 --- a/source/Willow-Core/ComponentAttributeCommand.class.st +++ b/source/Willow-Core/ComponentAttributeCommand.class.st @@ -2,28 +2,30 @@ Command to set an attribute for a component " Class { - #name : #ComponentAttributeCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentAttributeCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'name', 'value' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentAttributeCommand class >> named: aName with: aValue [ ^self new initializeNamed: aName with: aValue ] -{ #category : #processing } +{ #category : 'processing' } ComponentAttributeCommand >> applyTo: aComponent on: aCanvas [ aComponent attributeAt: name put: value ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentAttributeCommand >> initializeNamed: aName with: aValue [ name := aName. diff --git a/source/Willow-Core/ComponentBoundaryCommand.class.st b/source/Willow-Core/ComponentBoundaryCommand.class.st index f1d5aca9..e31a1210 100644 --- a/source/Willow-Core/ComponentBoundaryCommand.class.st +++ b/source/Willow-Core/ComponentBoundaryCommand.class.st @@ -2,16 +2,18 @@ Command to add boundaries to a component (using min: and/or max:). " Class { - #name : #ComponentBoundaryCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentBoundaryCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'minimumHolder', 'maximumHolder' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentBoundaryCommand class >> between: aMinimum and: aMaximum [ ^ self @@ -19,26 +21,26 @@ ComponentBoundaryCommand class >> between: aMinimum and: aMaximum [ maximumTo: (Optional containing: aMaximum) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentBoundaryCommand class >> nonNegative [ ^ self restrictingMinimumWith: (Optional containing: 0) maximumTo: (Optional unusedBecause: 'Maximum not restricted') ] -{ #category : #'instance creation - private' } +{ #category : 'instance creation - private' } ComponentBoundaryCommand class >> restrictingMinimumWith: aMinimumHolder maximumTo: aMaximumHolder [ ^ self new initializeRestrictingMinimumWith: aMinimumHolder maximumTo: aMaximumHolder ] -{ #category : #processing } +{ #category : 'processing' } ComponentBoundaryCommand >> applyTo: aComponent on: aCanvas [ minimumHolder withContentDo: [ :minimum | aComponent attributeAt: 'min' put: minimum ]. maximumHolder withContentDo: [ :maximum | aComponent attributeAt: 'max' put: maximum ] ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentBoundaryCommand >> initializeRestrictingMinimumWith: aMinimumHolder maximumTo: aMaximumHolder [ minimumHolder := aMinimumHolder. diff --git a/source/Willow-Core/ComponentCallbackSettingCommand.class.st b/source/Willow-Core/ComponentCallbackSettingCommand.class.st index 22a7b735..3e5fe29e 100644 --- a/source/Willow-Core/ComponentCallbackSettingCommand.class.st +++ b/source/Willow-Core/ComponentCallbackSettingCommand.class.st @@ -2,27 +2,29 @@ Command to set the callback of a component " Class { - #name : #ComponentCallbackSettingCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentCallbackSettingCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'callback' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentCallbackSettingCommand class >> setting: aCallback [ ^self new initializeSetting: aCallback ] -{ #category : #processing } +{ #category : 'processing' } ComponentCallbackSettingCommand >> applyTo: aComponent on: aCanvas [ aComponent callback: callback ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentCallbackSettingCommand >> initializeSetting: aCallback [ callback := aCallback diff --git a/source/Willow-Core/ComponentClassificationCommand.class.st b/source/Willow-Core/ComponentClassificationCommand.class.st index 83a6e948..e6784467 100644 --- a/source/Willow-Core/ComponentClassificationCommand.class.st +++ b/source/Willow-Core/ComponentClassificationCommand.class.st @@ -2,33 +2,35 @@ Command to add css styles to a component (using class:/classes:). " Class { - #name : #ComponentClassificationCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentClassificationCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'cssStyles' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentClassificationCommand class >> toStyleWith: aCssStyle [ ^ self toStyleWithAll: (Array with: aCssStyle) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentClassificationCommand class >> toStyleWithAll: aCssStyleCollection [ ^ self new initializeToStyleWithAll: aCssStyleCollection ] -{ #category : #processing } +{ #category : 'processing' } ComponentClassificationCommand >> applyTo: aComponent on: aCanvas [ ^ aComponent classes: cssStyles ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentClassificationCommand >> initializeToStyleWithAll: aCssStyleCollection [ cssStyles := aCssStyleCollection diff --git a/source/Willow-Core/ComponentClassificationCommandBuilder.class.st b/source/Willow-Core/ComponentClassificationCommandBuilder.class.st index 9c29c64e..8ac90650 100644 --- a/source/Willow-Core/ComponentClassificationCommandBuilder.class.st +++ b/source/Willow-Core/ComponentClassificationCommandBuilder.class.st @@ -2,55 +2,57 @@ I'm a builder of component classification commands " Class { - #name : #ComponentClassificationCommandBuilder, - #superclass : #GRObject, + #name : 'ComponentClassificationCommandBuilder', + #superclass : 'GRObject', #instVars : [ 'classificationNamespace' ], #pools : [ 'Willow' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #private } +{ #category : 'private' } ComponentClassificationCommandBuilder >> commandStyledWith: aSymbol [ ^ ComponentClassificationCommand toStyleWith: classificationNamespace >> aSymbol ] -{ #category : #Building } +{ #category : 'Building' } ComponentClassificationCommandBuilder >> dialogContainer [ ^ self commandStyledWith: #dialogContainer ] -{ #category : #Building } +{ #category : 'Building' } ComponentClassificationCommandBuilder >> disabledComponent [ ^ self commandStyledWith: #disabledComponent ] -{ #category : #Building } +{ #category : 'Building' } ComponentClassificationCommandBuilder >> fadingNotification [ ^ self commandStyledWith: #fadingNotification ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentClassificationCommandBuilder >> initialize [ super initialize. classificationNamespace := Classification ] -{ #category : #Building } +{ #category : 'Building' } ComponentClassificationCommandBuilder >> loading [ ^ self commandStyledWith: #loading ] -{ #category : #Building } +{ #category : 'Building' } ComponentClassificationCommandBuilder >> willow [ ^ self commandStyledWith: #willow diff --git a/source/Willow-Core/ComponentEnableStatusChangingCommand.class.st b/source/Willow-Core/ComponentEnableStatusChangingCommand.class.st index ddf62c64..ae9bdc0a 100644 --- a/source/Willow-Core/ComponentEnableStatusChangingCommand.class.st +++ b/source/Willow-Core/ComponentEnableStatusChangingCommand.class.st @@ -3,16 +3,18 @@ I'm a WebInteractionCommand allowing to enable or disable a component. I just generate javascript code for the client, no server communication or processing is involved. " Class { - #name : #ComponentEnableStatusChangingCommand, - #superclass : #WebInteractionCommand, + #name : 'ComponentEnableStatusChangingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'componentProvider', 'desiredStatus' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentEnableStatusChangingCommand class >> disabling: anIdentifiedComponent [ ^ self @@ -20,13 +22,13 @@ ComponentEnableStatusChangingCommand class >> disabling: anIdentifiedComponent [ settingStatusTo: true ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentEnableStatusChangingCommand class >> disablingCurrentComponent [ ^self obtainingComponentWith: [:canvas | canvas jQuery this] settingStatusTo: true ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentEnableStatusChangingCommand class >> enabling: anIdentifiedComponent [ ^ self @@ -34,38 +36,38 @@ ComponentEnableStatusChangingCommand class >> enabling: anIdentifiedComponent [ settingStatusTo: false ] -{ #category : #private } +{ #category : 'private' } ComponentEnableStatusChangingCommand class >> obtainingComponentWith: aComponentProvider settingStatusTo: aBoolean [ ^self new initializeObtainingComponentWith: aComponentProvider settingStatusTo: aBoolean ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentEnableStatusChangingCommand >> initializeObtainingComponentWith: aComponentProvider settingStatusTo: aBoolean [ componentProvider := aComponentProvider. desiredStatus := aBoolean ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentEnableStatusChangingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentEnableStatusChangingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ComponentEnableStatusChangingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentEnableStatusChangingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions diff --git a/source/Willow-Core/ComponentErrorCommand.class.st b/source/Willow-Core/ComponentErrorCommand.class.st index ef6b9861..4f5420b9 100644 --- a/source/Willow-Core/ComponentErrorCommand.class.st +++ b/source/Willow-Core/ComponentErrorCommand.class.st @@ -2,27 +2,29 @@ Command to determine behavior when a component signals an error (using onError:). " Class { - #name : #ComponentErrorCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentErrorCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'actionProvider' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentErrorCommand class >> toActUsing: anActionProvider [ ^ self new initializeToActUsing: anActionProvider ] -{ #category : #processing } +{ #category : 'processing' } ComponentErrorCommand >> applyTo: aComponent on: aCanvas [ ^ aComponent onError: (actionProvider value: aCanvas) ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentErrorCommand >> initializeToActUsing: anActionProvider [ actionProvider := anActionProvider diff --git a/source/Willow-Core/ComponentFocusingCommand.class.st b/source/Willow-Core/ComponentFocusingCommand.class.st index 7d203daa..53549211 100644 --- a/source/Willow-Core/ComponentFocusingCommand.class.st +++ b/source/Willow-Core/ComponentFocusingCommand.class.st @@ -2,34 +2,36 @@ I'm a WebInteractionCommand allowing to put the focus in a component " Class { - #name : #ComponentFocusingCommand, - #superclass : #WebInteractionCommand, + #name : 'ComponentFocusingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'componentProvider' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentFocusingCommand class >> findingComponentUsing: aComponentProvider [ ^ self new initializeFindingComponentUsing: aComponentProvider ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentFocusingCommand class >> for: anIdentifiedView [ anIdentifiedView beIdentifiable. ^ self findingComponentUsing: [ :aCanvas | aCanvas locate: anIdentifiedView ] ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentFocusingCommand >> initializeFindingComponentUsing: aComponentProvider [ componentProvider := aComponentProvider ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentFocusingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -37,19 +39,19 @@ ComponentFocusingCommand >> modelLoadingInstructions [ orderedAt: 20 ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentFocusingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ComponentFocusingCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentFocusingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/ComponentMetadataCommand.class.st b/source/Willow-Core/ComponentMetadataCommand.class.st index e83d8f97..9f34e341 100644 --- a/source/Willow-Core/ComponentMetadataCommand.class.st +++ b/source/Willow-Core/ComponentMetadataCommand.class.st @@ -3,22 +3,24 @@ A command to add attributes with custom information: data-* = ""value"" " Class { - #name : #ComponentMetadataCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentMetadataCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'name', 'content' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentMetadataCommand class >> toDeclare: aName with: aContent [ ^ self new initializeToDeclare: aName with: aContent ] -{ #category : #processing } +{ #category : 'processing' } ComponentMetadataCommand >> applyTo: aComponent on: aCanvas [ (ComponentAttributeCommand named: self dataAttribute with: content) @@ -26,12 +28,12 @@ ComponentMetadataCommand >> applyTo: aComponent on: aCanvas [ on: aCanvas ] -{ #category : #private } +{ #category : 'private' } ComponentMetadataCommand >> dataAttribute [ ^ 'data-<1s>' expandMacrosWith: name ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentMetadataCommand >> initializeToDeclare: aName with: aContent [ name := aName. diff --git a/source/Willow-Core/ComponentNamingCommand.class.st b/source/Willow-Core/ComponentNamingCommand.class.st index 84890bb5..b47edc5a 100644 --- a/source/Willow-Core/ComponentNamingCommand.class.st +++ b/source/Willow-Core/ComponentNamingCommand.class.st @@ -2,27 +2,29 @@ A command to set the name of a component. " Class { - #name : #ComponentNamingCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentNamingCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'name' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentNamingCommand class >> assigning: aName [ ^self new initializeAssigning: aName ] -{ #category : #processing } +{ #category : 'processing' } ComponentNamingCommand >> applyTo: aComponent on: aCanvas [ aComponent name: name ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentNamingCommand >> initializeAssigning: aName [ name := aName diff --git a/source/Willow-Core/ComponentPlaceholderCommand.class.st b/source/Willow-Core/ComponentPlaceholderCommand.class.st index 4542e13a..c11970eb 100644 --- a/source/Willow-Core/ComponentPlaceholderCommand.class.st +++ b/source/Willow-Core/ComponentPlaceholderCommand.class.st @@ -2,27 +2,29 @@ A command to assign a hint for a component, using the placeholder attribute. " Class { - #name : #ComponentPlaceholderCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentPlaceholderCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'suggestion' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ComponentPlaceholderCommand class >> suggestedBy: aSuggestion [ ^self new initializeSuggestedBy: aSuggestion ] -{ #category : #processing } +{ #category : 'processing' } ComponentPlaceholderCommand >> applyTo: aComponent on: aCanvas [ aComponent placeholder: suggestion ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentPlaceholderCommand >> initializeSuggestedBy: aSuggestion [ suggestion := aSuggestion diff --git a/source/Willow-Core/ComponentReadOnlyCommand.class.st b/source/Willow-Core/ComponentReadOnlyCommand.class.st index 6bcc6b0a..7772752d 100644 --- a/source/Willow-Core/ComponentReadOnlyCommand.class.st +++ b/source/Willow-Core/ComponentReadOnlyCommand.class.st @@ -2,12 +2,14 @@ A command to mark a component as read-only. " Class { - #name : #ComponentReadOnlyCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'ComponentReadOnlyCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } ComponentReadOnlyCommand >> applyTo: aComponent on: aCanvas [ aComponent readonly: true diff --git a/source/Willow-Core/ComponentRemovingCommand.class.st b/source/Willow-Core/ComponentRemovingCommand.class.st index 9d551da4..48fe1362 100644 --- a/source/Willow-Core/ComponentRemovingCommand.class.st +++ b/source/Willow-Core/ComponentRemovingCommand.class.st @@ -2,27 +2,29 @@ I'm a WebInteractionCommand allowing to remove a component " Class { - #name : #ComponentRemovingCommand, - #superclass : #WebInteractionCommand, + #name : 'ComponentRemovingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'identifiedView' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentRemovingCommand class >> for: anIdentifiedView [ ^ self new initializeFor: anIdentifiedView ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentRemovingCommand >> initializeFor: anIdentifiedView [ identifiedView := anIdentifiedView ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentRemovingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -30,19 +32,19 @@ ComponentRemovingCommand >> modelLoadingInstructions [ orderedAt: 20 ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentRemovingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ComponentRemovingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentRemovingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/ComponentRequiredCommand.class.st b/source/Willow-Core/ComponentRequiredCommand.class.st index f81b932d..75a1e560 100644 --- a/source/Willow-Core/ComponentRequiredCommand.class.st +++ b/source/Willow-Core/ComponentRequiredCommand.class.st @@ -2,12 +2,14 @@ A command to set a component as required, using the HTML5 attribute. " Class { - #name : #ComponentRequiredCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'ComponentRequiredCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } ComponentRequiredCommand >> applyTo: aComponent on: aCanvas [ aComponent required diff --git a/source/Willow-Core/ComponentScriptCommand.class.st b/source/Willow-Core/ComponentScriptCommand.class.st index 152febd9..b6888743 100644 --- a/source/Willow-Core/ComponentScriptCommand.class.st +++ b/source/Willow-Core/ComponentScriptCommand.class.st @@ -2,27 +2,29 @@ Command to execute a JS script on a component (using script:). " Class { - #name : #ComponentScriptCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentScriptCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'scriptProvider' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentScriptCommand class >> toExecute: aScriptProvider [ ^ self new initializeToExecute: aScriptProvider ] -{ #category : #applying } +{ #category : 'applying' } ComponentScriptCommand >> applyTo: aComponent on: aCanvas [ ^ aComponent script: (scriptProvider cull: aCanvas) ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentScriptCommand >> initializeToExecute: aScriptProvider [ scriptProvider := aScriptProvider diff --git a/source/Willow-Core/ComponentScriptCommandBuilder.class.st b/source/Willow-Core/ComponentScriptCommandBuilder.class.st index 9bc73a51..4c61bbff 100644 --- a/source/Willow-Core/ComponentScriptCommandBuilder.class.st +++ b/source/Willow-Core/ComponentScriptCommandBuilder.class.st @@ -2,12 +2,14 @@ I'm an scripting command builder " Class { - #name : #ComponentScriptCommandBuilder, - #superclass : #GRObject, - #category : #'Willow-Core-Frontend' + #name : 'ComponentScriptCommandBuilder', + #superclass : 'GRObject', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #Building } +{ #category : 'Building' } ComponentScriptCommandBuilder >> js: aBlockClosure [ ^ ComponentScriptCommand toExecute: aBlockClosure diff --git a/source/Willow-Core/ComponentStyleClassChangingCommand.class.st b/source/Willow-Core/ComponentStyleClassChangingCommand.class.st index 5d4072ec..f15d4833 100644 --- a/source/Willow-Core/ComponentStyleClassChangingCommand.class.st +++ b/source/Willow-Core/ComponentStyleClassChangingCommand.class.st @@ -2,16 +2,18 @@ I'm a WebInteractionCommand allowing to change the css class of a component, which can be done using a specific transformation. " Class { - #name : #ComponentStyleClassChangingCommand, - #superclass : #WebInteractionCommand, + #name : 'ComponentStyleClassChangingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'updatesProvider', 'elementsProvider' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentStyleClassChangingCommand class >> applying: aCssClassConfigurationBlock targeting: anElementMatchingBlock [ ^ self new @@ -19,19 +21,19 @@ ComponentStyleClassChangingCommand class >> applying: aCssClassConfigurationBloc targeting: anElementMatchingBlock ] -{ #category : #private } +{ #category : 'private' } ComponentStyleClassChangingCommand >> applyStyleChangeTo: component [ ^ updatesProvider applyTo: component ] -{ #category : #private } +{ #category : 'private' } ComponentStyleClassChangingCommand >> componentOn: aCanvas [ ^ elementsProvider value: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentStyleClassChangingCommand >> initializeApplying: aCssClassConfigurationBlock targeting: anElementMatchingBlock [ @@ -39,25 +41,25 @@ ComponentStyleClassChangingCommand >> initializeApplying: aCssClassConfiguration elementsProvider := anElementMatchingBlock ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentStyleClassChangingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentStyleClassChangingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ComponentStyleClassChangingCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentStyleClassChangingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions diff --git a/source/Willow-Core/ComponentStyleClassUpdateBuilder.class.st b/source/Willow-Core/ComponentStyleClassUpdateBuilder.class.st index 1c314bff..b8e19d33 100644 --- a/source/Willow-Core/ComponentStyleClassUpdateBuilder.class.st +++ b/source/Willow-Core/ComponentStyleClassUpdateBuilder.class.st @@ -1,19 +1,21 @@ Class { - #name : #ComponentStyleClassUpdateBuilder, - #superclass : #Object, + #name : 'ComponentStyleClassUpdateBuilder', + #superclass : 'Object', #instVars : [ 'transformations' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #configuring } +{ #category : 'configuring' } ComponentStyleClassUpdateBuilder >> addClass: aCssClass [ transformations add: [ :element | element addClass: aCssClass ] ] -{ #category : #processing } +{ #category : 'processing' } ComponentStyleClassUpdateBuilder >> applyTo: aJQueryInstance [ ^ transformations @@ -21,20 +23,20 @@ ComponentStyleClassUpdateBuilder >> applyTo: aJQueryInstance [ into: [ :result :transformation | transformation value: result ] ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentStyleClassUpdateBuilder >> initialize [ super initialize. transformations := OrderedCollection new ] -{ #category : #configuring } +{ #category : 'configuring' } ComponentStyleClassUpdateBuilder >> removeClass: aCssClass [ transformations add: [ :element | element removeClass: aCssClass ] ] -{ #category : #configuring } +{ #category : 'configuring' } ComponentStyleClassUpdateBuilder >> toggleClass: aCssClass [ transformations add: [ :element | element toggleClass: aCssClass ] diff --git a/source/Willow-Core/ComponentTitleCommand.class.st b/source/Willow-Core/ComponentTitleCommand.class.st index 52d1a6e2..82b47055 100644 --- a/source/Willow-Core/ComponentTitleCommand.class.st +++ b/source/Willow-Core/ComponentTitleCommand.class.st @@ -2,33 +2,35 @@ Command to set the title attribute of a component (using title:). " Class { - #name : #ComponentTitleCommand, - #superclass : #WebComponentCommand, + #name : 'ComponentTitleCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'titleProvider' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentTitleCommand class >> toSet: aTitle [ ^ self toSetUsing: [ aTitle ] ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentTitleCommand class >> toSetUsing: aTitleProvider [ ^ self new initializeToSetUsing: aTitleProvider ] -{ #category : #processing } +{ #category : 'processing' } ComponentTitleCommand >> applyTo: aComponent on: aCanvas [ ^ aComponent title: titleProvider value ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ComponentTitleCommand >> initializeToSetUsing: aTitleProvider [ titleProvider := aTitleProvider diff --git a/source/Willow-Core/ComponentValueSettingCommand.class.st b/source/Willow-Core/ComponentValueSettingCommand.class.st index a02348b2..57331d8a 100644 --- a/source/Willow-Core/ComponentValueSettingCommand.class.st +++ b/source/Willow-Core/ComponentValueSettingCommand.class.st @@ -2,17 +2,19 @@ I'm a WebInteractionCommand used to change the value of some input field. I can be configured to trigger a change event. " Class { - #name : #ComponentValueSettingCommand, - #superclass : #WebInteractionCommand, + #name : 'ComponentValueSettingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'valueProvider', 'identifierProvider', 'triggeringAction' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #private } +{ #category : 'private' } ComponentValueSettingCommand class >> obtainingIdentifierFrom: anIdentifierProvider valueFrom: aValueProvider triggeringAction: aTriggeringAction [ ^ self new @@ -21,7 +23,7 @@ ComponentValueSettingCommand class >> obtainingIdentifierFrom: anIdentifierProvi triggeringAction: aTriggeringAction ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentValueSettingCommand class >> triggeringChangesObtainingIdentifierFrom: anIdentifierProvider valueFrom: aValueProvider [ ^ self @@ -30,7 +32,7 @@ ComponentValueSettingCommand class >> triggeringChangesObtainingIdentifierFrom: triggeringAction: [ :jQueryInstance | jQueryInstance trigger: 'change' ] ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ComponentValueSettingCommand class >> withoutTriggeringChangesObtainingIdentifierFrom: anIdentifierProvider valueFrom: aValueProvider [ ^ self @@ -39,7 +41,7 @@ ComponentValueSettingCommand class >> withoutTriggeringChangesObtainingIdentifie triggeringAction: [ :jQueryInstance | jQueryInstance ] ] -{ #category : #initialization } +{ #category : 'initialization' } ComponentValueSettingCommand >> initializeObtainingIdentifierFrom: anIdentifierProvider valueFrom: aValueProvider triggeringAction: anAction [ identifierProvider := anIdentifierProvider. @@ -47,7 +49,7 @@ ComponentValueSettingCommand >> initializeObtainingIdentifierFrom: anIdentifierP triggeringAction := anAction ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentValueSettingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -61,19 +63,19 @@ ComponentValueSettingCommand >> modelLoadingInstructions [ orderedAt: 20 ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentValueSettingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ComponentValueSettingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } ComponentValueSettingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/CompositeComponentCommand.class.st b/source/Willow-Core/CompositeComponentCommand.class.st index 28e8a231..c0fbddee 100644 --- a/source/Willow-Core/CompositeComponentCommand.class.st +++ b/source/Willow-Core/CompositeComponentCommand.class.st @@ -2,27 +2,29 @@ A command collecting several sub commands to a component. " Class { - #name : #CompositeComponentCommand, - #superclass : #WebComponentCommand, + #name : 'CompositeComponentCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'commands' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CompositeComponentCommand class >> applyingAll: aCommandCollection [ ^ self new initializeApplyingAll: aCommandCollection ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } CompositeComponentCommand class >> empty [ ^ self applyingAll: #() ] -{ #category : #combining } +{ #category : 'combining' } CompositeComponentCommand >> + aComponentCommand [ ^ self class @@ -33,13 +35,13 @@ CompositeComponentCommand >> + aComponentCommand [ yourself) ] -{ #category : #processing } +{ #category : 'processing' } CompositeComponentCommand >> applyTo: aComponent on: aCanvas [ commands do: [ :command | command applyTo: aComponent on: aCanvas ] ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } CompositeComponentCommand >> initializeApplyingAll: aCommandCollection [ commands := OrderedCollection withAll: aCommandCollection diff --git a/source/Willow-Core/CompositeTableRowCommand.class.st b/source/Willow-Core/CompositeTableRowCommand.class.st index d5e37f51..2354115d 100644 --- a/source/Willow-Core/CompositeTableRowCommand.class.st +++ b/source/Willow-Core/CompositeTableRowCommand.class.st @@ -2,27 +2,29 @@ A row command collecting several sub commands to a component. " Class { - #name : #CompositeTableRowCommand, - #superclass : #TableRowCommand, + #name : 'CompositeTableRowCommand', + #superclass : 'TableRowCommand', #instVars : [ 'commands' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } CompositeTableRowCommand class >> applyingAll: aCommandCollection [ ^self new initializeApplyingAll: aCommandCollection ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } CompositeTableRowCommand class >> empty [ ^self applyingAll: #() ] -{ #category : #Combining } +{ #category : 'Combining' } CompositeTableRowCommand >> + aTableRowCommand [ ^self class applyingAll: ( @@ -32,13 +34,13 @@ CompositeTableRowCommand >> + aTableRowCommand [ yourself) ] -{ #category : #Applying } +{ #category : 'Applying' } CompositeTableRowCommand >> applyTo: aTableRow for: aRelatedObject on: aCanvas [ commands do: [ :command | command applyTo: aTableRow for: aRelatedObject on: aCanvas ] ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } CompositeTableRowCommand >> initializeApplyingAll: aCommandCollection [ commands := OrderedCollection withAll: aCommandCollection diff --git a/source/Willow-Core/ConditionalComponentCommand.class.st b/source/Willow-Core/ConditionalComponentCommand.class.st index 98e6dd00..ae243f46 100644 --- a/source/Willow-Core/ConditionalComponentCommand.class.st +++ b/source/Willow-Core/ConditionalComponentCommand.class.st @@ -2,28 +2,30 @@ A command applying another command only if the condition is satisfied. " Class { - #name : #ConditionalComponentCommand, - #superclass : #WebComponentCommand, + #name : 'ConditionalComponentCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'command', 'conditionBlock' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ConditionalComponentCommand class >> applying: aComponentCommand when: aConditionBlock [ ^ self new initializeApplying: aComponentCommand when: aConditionBlock ] -{ #category : #processing } +{ #category : 'processing' } ConditionalComponentCommand >> applyTo: aComponent on: aCanvas [ ( conditionBlock cull: aComponent ) then: [ command applyTo: aComponent on: aCanvas ] ] -{ #category : #initialization } +{ #category : 'initialization' } ConditionalComponentCommand >> initializeApplying: aComponentCommand when: aConditionBlock [ command := aComponentCommand. diff --git a/source/Willow-Core/ConfirmationCommand.class.st b/source/Willow-Core/ConfirmationCommand.class.st index e63da691..204e1298 100644 --- a/source/Willow-Core/ConfirmationCommand.class.st +++ b/source/Willow-Core/ConfirmationCommand.class.st @@ -2,45 +2,47 @@ I'm a WebInteractionCommand used to ask the user for confirmation before proceeding. " Class { - #name : #ConfirmationCommand, - #superclass : #WebInteractionCommand, + #name : 'ConfirmationCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'question' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ConfirmationCommand class >> asking: aQuestion [ ^ self new initializeAsking: aQuestion ] -{ #category : #initialization } +{ #category : 'initialization' } ConfirmationCommand >> initializeAsking: aQuestion [ question := aQuestion ] -{ #category : #accessing } +{ #category : 'accessing' } ConfirmationCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } ConfirmationCommand >> priorityActions [ ^ Array with: [ :anAsynchronousCall :aCanvas | anAsynchronousCall confirm: question ] ] -{ #category : #testing } +{ #category : 'testing' } ConfirmationCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } ConfirmationCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/ContainerWebView.class.st b/source/Willow-Core/ContainerWebView.class.st index 24cdba50..fe2ff52b 100644 --- a/source/Willow-Core/ContainerWebView.class.st +++ b/source/Willow-Core/ContainerWebView.class.st @@ -1,6 +1,6 @@ Class { - #name : #ContainerWebView, - #superclass : #WAPainter, + #name : 'ContainerWebView', + #superclass : 'WAPainter', #instVars : [ 'interactionInterpreter', 'commandToComponent', @@ -8,10 +8,12 @@ Class { 'renderableContent', 'containerBuilder' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ContainerWebView class >> wrapping: aRenderable intoElementBuiltUsing: anElementBuilder applying: aComponentCommand [ ^ self new @@ -20,19 +22,19 @@ ContainerWebView class >> wrapping: aRenderable intoElementBuiltUsing: anElement applying: aComponentCommand asWebComponentCommand ] -{ #category : #configuring } +{ #category : 'configuring' } ContainerWebView >> beIdentifiable [ identifierAssigner beRequired ] -{ #category : #accessing } +{ #category : 'accessing' } ContainerWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } ContainerWebView >> initializeWrapping: aRenderable intoElementBuiltUsing: anElementBuilder applying: aComponentCommand [ containerBuilder := anElementBuilder. @@ -42,14 +44,14 @@ ContainerWebView >> initializeWrapping: aRenderable intoElementBuiltUsing: anEle interactionInterpreter := EventInterpreterDispatcher defaultingToClick ] -{ #category : #configuring } +{ #category : 'configuring' } ContainerWebView >> on [ self beIdentifiable. ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } ContainerWebView >> renderContentOn: aCanvas [ ( containerBuilder cull: aCanvas ) @@ -58,7 +60,7 @@ ContainerWebView >> renderContentOn: aCanvas [ with: renderableContent applying: commandToComponent ] -{ #category : #accessing } +{ #category : 'accessing' } ContainerWebView >> renderableContent [ ^ renderableContent diff --git a/source/Willow-Core/DateFieldWebView.class.st b/source/Willow-Core/DateFieldWebView.class.st index b8e78c19..bdbca1a8 100644 --- a/source/Willow-Core/DateFieldWebView.class.st +++ b/source/Willow-Core/DateFieldWebView.class.st @@ -2,21 +2,23 @@ I represent a TextField containing dates. " Class { - #name : #DateFieldWebView, - #superclass : #FieldWebView, + #name : 'DateFieldWebView', + #superclass : 'FieldWebView', #instVars : [ 'textCodec' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } DateFieldWebView class >> applying: aComponentCommand [ ^ self applying: aComponentCommand transformingWith: ISODateCodec new ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } DateFieldWebView class >> applying: aComponentCommand transformingWith: aTextCodec [ ^ ( self @@ -26,31 +28,31 @@ DateFieldWebView class >> applying: aComponentCommand transformingWith: aTextCod initializeTransformingWith: aTextCodec ] -{ #category : #'Date-Container-API' } +{ #category : 'Date-Container-API' } DateFieldWebView >> changeDateTo: aDate [ self changeModelTo: aDate ] -{ #category : #'Date-Container-API' } +{ #category : 'Date-Container-API' } DateFieldWebView >> date [ ^ self model ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } DateFieldWebView >> identifierPrefix [ ^ 'date-field' ] -{ #category : #initialization } +{ #category : 'initialization' } DateFieldWebView >> initializeTransformingWith: aTextCodec [ textCodec := aTextCodec ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } DateFieldWebView >> textCodec [ ^ textCodec diff --git a/source/Willow-Core/DelayedModelLoader.class.st b/source/Willow-Core/DelayedModelLoader.class.st index 7dbf9ebd..15985e54 100644 --- a/source/Willow-Core/DelayedModelLoader.class.st +++ b/source/Willow-Core/DelayedModelLoader.class.st @@ -1,19 +1,21 @@ Class { - #name : #DelayedModelLoader, - #superclass : #Object, + #name : 'DelayedModelLoader', + #superclass : 'Object', #instVars : [ 'commands' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } DelayedModelLoader class >> new [ ^ super new initialize ] -{ #category : #evaluating } +{ #category : 'evaluating' } DelayedModelLoader >> applyTo: aCollection on: aCanvas [ commands @@ -24,14 +26,14 @@ DelayedModelLoader >> applyTo: aCollection on: aCanvas [ ] ] -{ #category : #initialization } +{ #category : 'initialization' } DelayedModelLoader >> initialize [ super initialize. commands := OrderedCollection new ] -{ #category : #configuring } +{ #category : 'configuring' } DelayedModelLoader >> onTriggerExecute: anInteractionCommand [ commands add: anInteractionCommand diff --git a/source/Willow-Core/DelayedViewRenderer.class.st b/source/Willow-Core/DelayedViewRenderer.class.st index e40d4243..fb12f2ce 100644 --- a/source/Willow-Core/DelayedViewRenderer.class.st +++ b/source/Willow-Core/DelayedViewRenderer.class.st @@ -2,23 +2,25 @@ I'm a web view showing a throbber while evaluating an action block and then rendering another view " Class { - #name : #DelayedViewRenderer, - #superclass : #WAPainter, + #name : 'DelayedViewRenderer', + #superclass : 'WAPainter', #instVars : [ 'identifiedDelayedView', 'currentView', 'interpreter' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } DelayedViewRenderer class >> showing: aThrobber whileEvaluating: aBlock thenRendering: aView [ ^ self new initializeShowing: aThrobber whileEvaluating: aBlock thenRendering: aView ] -{ #category : #initialization } +{ #category : 'initialization' } DelayedViewRenderer >> initializeInterpreterToEvaluate: aBlock thenRender: aView [ interpreter := WebInteractionInterpreter forInstantEvaluation. @@ -30,7 +32,7 @@ DelayedViewRenderer >> initializeInterpreterToEvaluate: aBlock thenRender: aView render: identifiedDelayedView ] -{ #category : #initialization } +{ #category : 'initialization' } DelayedViewRenderer >> initializeShowing: aThrobber whileEvaluating: aBlock thenRendering: aView [ self setCurrentViewTo: aThrobber. @@ -40,14 +42,14 @@ DelayedViewRenderer >> initializeShowing: aThrobber whileEvaluating: aBlock then self initializeInterpreterToEvaluate: aBlock thenRender: aView ] -{ #category : #rendering } +{ #category : 'rendering' } DelayedViewRenderer >> renderContentOn: aCanvas [ aCanvas render: identifiedDelayedView. interpreter applyTo: self on: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } DelayedViewRenderer >> setCurrentViewTo: aView [ currentView := aView diff --git a/source/Willow-Core/DeselectAllOptionsCommand.class.st b/source/Willow-Core/DeselectAllOptionsCommand.class.st index 5f406bbd..6ad3a37a 100644 --- a/source/Willow-Core/DeselectAllOptionsCommand.class.st +++ b/source/Willow-Core/DeselectAllOptionsCommand.class.st @@ -2,21 +2,23 @@ A command to deselect all the options in a select " Class { - #name : #DeselectAllOptionsCommand, - #superclass : #WebComponentCommand, + #name : 'DeselectAllOptionsCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'scriptCommand' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } DeselectAllOptionsCommand >> applyTo: aSelect on: aCanvas [ scriptCommand applyTo: aSelect on: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } DeselectAllOptionsCommand >> initialize [ super initialize. diff --git a/source/Willow-Core/DialogClosingCommand.class.st b/source/Willow-Core/DialogClosingCommand.class.st index 6bbf8eee..8a9a1fef 100644 --- a/source/Willow-Core/DialogClosingCommand.class.st +++ b/source/Willow-Core/DialogClosingCommand.class.st @@ -3,39 +3,41 @@ I'm a WebInteractionCommand used to close a Dialog. I will not destroy the dialo " Class { - #name : #DialogClosingCommand, - #superclass : #WebInteractionCommand, + #name : 'DialogClosingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'dialogSupplier' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } DialogClosingCommand class >> forAllDialogs [ ^ self obtainingDialogsWith: [ :jQuery | jQuery ] ] -{ #category : #'private-instance creation' } +{ #category : 'private-instance creation' } DialogClosingCommand class >> obtainingDialogsWith: aDialogSupplier [ ^ self new initializeObtainingDialogsWith: aDialogSupplier ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } DialogClosingCommand class >> onlyForLastDialog [ ^self obtainingDialogsWith: [ :jQuery | jQuery last ] ] -{ #category : #initialization } +{ #category : 'initialization' } DialogClosingCommand >> initializeObtainingDialogsWith: aDialogSupplier [ dialogSupplier := aDialogSupplier ] -{ #category : #accessing } +{ #category : 'accessing' } DialogClosingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -48,19 +50,19 @@ DialogClosingCommand >> modelLoadingInstructions [ orderedAt: 10 ] -{ #category : #accessing } +{ #category : 'accessing' } DialogClosingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } DialogClosingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } DialogClosingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/DialogOpener.class.st b/source/Willow-Core/DialogOpener.class.st index 228a33bf..c3ad77d0 100644 --- a/source/Willow-Core/DialogOpener.class.st +++ b/source/Willow-Core/DialogOpener.class.st @@ -2,15 +2,17 @@ I help in opening dialogs. Useful outside of the DialogOpeningCommand. " Class { - #name : #DialogOpener, - #superclass : #GRObject, + #name : 'DialogOpener', + #superclass : 'GRObject', #pools : [ 'Willow' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #actions } +{ #category : 'actions' } DialogOpener >> open: aDialogView on: aCanvas [ ^ (aCanvas jQuery id: Constants >> #willow >> #dialogSectionName) diff --git a/source/Willow-Core/DialogOpeningCommand.class.st b/source/Willow-Core/DialogOpeningCommand.class.st index 3208015a..b60544a6 100644 --- a/source/Willow-Core/DialogOpeningCommand.class.st +++ b/source/Willow-Core/DialogOpeningCommand.class.st @@ -3,27 +3,29 @@ I'm a WebInteractionCommand used to create and open a Dialog. The created Dialog will be appended to a section in the DOM. " Class { - #name : #DialogOpeningCommand, - #superclass : #WebInteractionCommand, + #name : 'DialogOpeningCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'dialogView' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } DialogOpeningCommand class >> alwaysOpening: aDialogView [ ^ self new initializeAlwaysOpening: aDialogView ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } DialogOpeningCommand >> initializeAlwaysOpening: aDialogView [ dialogView := aDialogView ] -{ #category : #accessing } +{ #category : 'accessing' } DialogOpeningCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -31,19 +33,19 @@ DialogOpeningCommand >> modelLoadingInstructions [ orderedAt: 10 ] -{ #category : #accessing } +{ #category : 'accessing' } DialogOpeningCommand >> priorityActions [ ^ #() ] -{ #category : #accessing } +{ #category : 'accessing' } DialogOpeningCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } DialogOpeningCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/DisableComponentCommand.class.st b/source/Willow-Core/DisableComponentCommand.class.st index 59b73465..068c7352 100644 --- a/source/Willow-Core/DisableComponentCommand.class.st +++ b/source/Willow-Core/DisableComponentCommand.class.st @@ -2,12 +2,14 @@ Command to disable a component " Class { - #name : #DisableComponentCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'DisableComponentCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } DisableComponentCommand >> applyTo: aComponent on: aCanvas [ aComponent disabled diff --git a/source/Willow-Core/DisableComponentTabCycleCommand.class.st b/source/Willow-Core/DisableComponentTabCycleCommand.class.st index 21b64418..52f97534 100644 --- a/source/Willow-Core/DisableComponentTabCycleCommand.class.st +++ b/source/Willow-Core/DisableComponentTabCycleCommand.class.st @@ -2,12 +2,14 @@ Command to remove a component for the tab cycle " Class { - #name : #DisableComponentTabCycleCommand, - #superclass : #WebComponentCommand, - #category : #'Willow-Core-Frontend' + #name : 'DisableComponentTabCycleCommand', + #superclass : 'WebComponentCommand', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #processing } +{ #category : 'processing' } DisableComponentTabCycleCommand >> applyTo: aComponent on: aCanvas [ aComponent tabIndex: -1 diff --git a/source/Willow-Core/DocumentLoadTrigger.class.st b/source/Willow-Core/DocumentLoadTrigger.class.st index bd50dd31..82542683 100644 --- a/source/Willow-Core/DocumentLoadTrigger.class.st +++ b/source/Willow-Core/DocumentLoadTrigger.class.st @@ -1,10 +1,12 @@ Class { - #name : #DocumentLoadTrigger, - #superclass : #TriggeringPolicy, - #category : #'Willow-Core-WebInteraction' + #name : 'DocumentLoadTrigger', + #superclass : 'TriggeringPolicy', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #evaluating } +{ #category : 'evaluating' } DocumentLoadTrigger >> apply: anAsynchronousCall to: aComponent on: aCanvas [ aCanvas document addLoadScript: anAsynchronousCall diff --git a/source/Willow-Core/EventInterpreterDispatcher.class.st b/source/Willow-Core/EventInterpreterDispatcher.class.st index 62bda71a..93defa39 100644 --- a/source/Willow-Core/EventInterpreterDispatcher.class.st +++ b/source/Willow-Core/EventInterpreterDispatcher.class.st @@ -1,20 +1,22 @@ Class { - #name : #EventInterpreterDispatcher, - #superclass : #EventInterpreterDispatcherBehavior, + #name : 'EventInterpreterDispatcher', + #superclass : 'EventInterpreterDispatcherBehavior', #instVars : [ 'interpretersByEvent', 'defaultInterpreter' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } EventInterpreterDispatcher class >> defaultingToChange [ ^ self interpretingByDefault: #change configuring: ( self interpreterSending: #change ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } EventInterpreterDispatcher class >> defaultingToChangeHidden [ ^ self @@ -25,13 +27,13 @@ EventInterpreterDispatcher class >> defaultingToChangeHidden [ serializingWith: SerializationCommand forCurrentObjectWithHiddenInputs ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } EventInterpreterDispatcher class >> defaultingToClick [ ^ self interpretingByDefault: #click configuring: ( self interpreterSending: #click ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } EventInterpreterDispatcher class >> defaultingToClickHidden [ ^ self @@ -42,7 +44,7 @@ EventInterpreterDispatcher class >> defaultingToClickHidden [ serializingWith: SerializationCommand forCurrentObjectWithHiddenInputs ) ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } EventInterpreterDispatcher class >> interpreterSending: anEventName [ | serializationCommand | @@ -55,38 +57,38 @@ EventInterpreterDispatcher class >> interpreterSending: anEventName [ ^ WebInteractionInterpreter calling: anEventName serializingWith: serializationCommand ] -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } EventInterpreterDispatcher class >> interpretingByDefault: anEventName configuring: aWebInteractionInterpreter [ ^ self new initializeInterpretingByDefault: anEventName configuring: aWebInteractionInterpreter ] -{ #category : #evaluating } +{ #category : 'evaluating' } EventInterpreterDispatcher >> applyTo: aComponent on: aCanvas [ interpretersByEvent keysAndValuesDo: [ :event :interpreter | interpreter applyTo: aComponent on: aCanvas ] ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> change [ ^ self eventNamed: #change ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> click [ ^ self eventNamed: #click ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> eventNamed: anEventName [ ^ interpretersByEvent at: anEventName ifAbsentPut: [ self class interpreterSending: anEventName ] ] -{ #category : #initialization } +{ #category : 'initialization' } EventInterpreterDispatcher >> initializeInterpretingByDefault: anEventName configuring: aWebInteractionInterpreter [ defaultInterpreter := aWebInteractionInterpreter. @@ -94,19 +96,19 @@ EventInterpreterDispatcher >> initializeInterpretingByDefault: anEventName confi interpretersByEvent at: anEventName put: aWebInteractionInterpreter ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> keyUp [ ^ self eventNamed: #keyup ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> mouseOver [ ^ self eventNamed: #mouseover ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcher >> trigger [ ^ defaultInterpreter diff --git a/source/Willow-Core/EventInterpreterDispatcherBehavior.class.st b/source/Willow-Core/EventInterpreterDispatcherBehavior.class.st index 884da1cf..3d009057 100644 --- a/source/Willow-Core/EventInterpreterDispatcherBehavior.class.st +++ b/source/Willow-Core/EventInterpreterDispatcherBehavior.class.st @@ -1,40 +1,42 @@ Class { - #name : #EventInterpreterDispatcherBehavior, - #superclass : #Object, - #category : #'Willow-Core-WebInteraction' + #name : 'EventInterpreterDispatcherBehavior', + #superclass : 'Object', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> change [ ^ self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> click [ ^ self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> eventNamed: anEventName [ ^ self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> keyUp [ ^ self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> mouseOver [ ^ self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } EventInterpreterDispatcherBehavior >> trigger [ ^ self subclassResponsibility diff --git a/source/Willow-Core/FieldSetWebView.class.st b/source/Willow-Core/FieldSetWebView.class.st index 4c3ea609..083056ad 100644 --- a/source/Willow-Core/FieldSetWebView.class.st +++ b/source/Willow-Core/FieldSetWebView.class.st @@ -2,18 +2,20 @@ A Web View that renders a fieldSet with custom styles. " Class { - #name : #FieldSetWebView, - #superclass : #WAPainter, + #name : 'FieldSetWebView', + #superclass : 'WAPainter', #instVars : [ 'title', 'contentView', 'fieldSetCommand', 'legendCommand' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } FieldSetWebView class >> containing: aWebView applying: fieldSetCommand withLegend: aTitle applying: legendCommand [ ^ self new @@ -23,7 +25,7 @@ FieldSetWebView class >> containing: aWebView applying: fieldSetCommand withLege applying: legendCommand asWebComponentCommand ] -{ #category : #initialization } +{ #category : 'initialization' } FieldSetWebView >> initializeContaining: aWebView applying: aFieldSetCommand withLegend: aTitle applying: aLegendCommand [ title := aTitle. @@ -32,7 +34,7 @@ FieldSetWebView >> initializeContaining: aWebView applying: aFieldSetCommand wit legendCommand := aLegendCommand ] -{ #category : #rendering } +{ #category : 'rendering' } FieldSetWebView >> renderContentOn: aCanvas [ aCanvas fieldSet diff --git a/source/Willow-Core/FieldWebView.class.st b/source/Willow-Core/FieldWebView.class.st index 539b1b45..ad7dc4c9 100644 --- a/source/Willow-Core/FieldWebView.class.st +++ b/source/Willow-Core/FieldWebView.class.st @@ -2,8 +2,8 @@ I 'm an abstract class representing non textual HTML5 inputs. " Class { - #name : #FieldWebView, - #superclass : #WAPainter, + #name : 'FieldWebView', + #superclass : 'WAPainter', #instVars : [ 'interactionInterpreter', 'commandToComponent', @@ -12,16 +12,18 @@ Class { 'contents', 'identifierAssigner' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #private } +{ #category : 'private' } FieldWebView class >> changeInterpreter [ ^ EventInterpreterDispatcher defaultingToChange ] -{ #category : #private } +{ #category : 'private' } FieldWebView class >> forComponentBuiltUsing: aComponentBuilder withInteractionDefinedBy: anInteractionInterpreter applying: aComponentCommand [ ^ self new @@ -30,44 +32,44 @@ FieldWebView class >> forComponentBuiltUsing: aComponentBuilder withInteractionD applying: aComponentCommand asWebComponentCommand ] -{ #category : #configuring } +{ #category : 'configuring' } FieldWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #'Container-API' } +{ #category : 'Container-API' } FieldWebView >> changeContentsTo: aText [ contents := aText. self notifyInterested ] -{ #category : #'Container-API' } +{ #category : 'Container-API' } FieldWebView >> changeModelTo: aModel [ ^ self changeContentsTo: (self textCodec encode: aModel) ] -{ #category : #'Container-API' } +{ #category : 'Container-API' } FieldWebView >> contents [ ^contents ] -{ #category : #accessing } +{ #category : 'accessing' } FieldWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } FieldWebView >> identifierPrefix [ ^ self subclassResponsibility ] -{ #category : #initialization } +{ #category : 'initialization' } FieldWebView >> initializeForComponentBuiltUsing: aComponentBuilder withInteractionDefinedBy: anInteractionInterpreter applying: aComponentCommand [ componentBuilder := aComponentBuilder. @@ -78,31 +80,31 @@ FieldWebView >> initializeForComponentBuiltUsing: aComponentBuilder withInteract self changeContentsTo: '' ] -{ #category : #'Container-API' } +{ #category : 'Container-API' } FieldWebView >> model [ ^ self textCodec decode: self contents ] -{ #category : #'Container-API' } +{ #category : 'Container-API' } FieldWebView >> notifyChangesTo: aSupervisor [ interested add: aSupervisor ] -{ #category : #private } +{ #category : 'private' } FieldWebView >> notifyInterested [ interested do: [:anInterested | anInterested changeNotifiedBy: self] ] -{ #category : #configuring } +{ #category : 'configuring' } FieldWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } FieldWebView >> renderContentOn: aCanvas [ | component | @@ -117,7 +119,7 @@ FieldWebView >> renderContentOn: aCanvas [ interactUsing: interactionInterpreter ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } FieldWebView >> textCodec [ ^ self subclassResponsibility diff --git a/source/Willow-Core/FileDownloadAnchorWebView.class.st b/source/Willow-Core/FileDownloadAnchorWebView.class.st index 97c62633..11438e62 100644 --- a/source/Willow-Core/FileDownloadAnchorWebView.class.st +++ b/source/Willow-Core/FileDownloadAnchorWebView.class.st @@ -2,17 +2,19 @@ I'm an anchor with a callback to download a document " Class { - #name : #FileDownloadAnchorWebView, - #superclass : #WAPainter, + #name : 'FileDownloadAnchorWebView', + #superclass : 'WAPainter', #instVars : [ 'label', 'documentProvider', 'commandToComponent' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } FileDownloadAnchorWebView class >> labeled: aLabel applying: aComponentCommand obtainingFileUsing: aFileProvider [ ^ self new @@ -21,7 +23,7 @@ FileDownloadAnchorWebView class >> labeled: aLabel applying: aComponentCommand o obtainingFileUsing: aFileProvider ] -{ #category : #initialization } +{ #category : 'initialization' } FileDownloadAnchorWebView >> initializeLabeled: aLabel applying: aComponentCommand obtainingFileUsing: aFileProvider [ label := aLabel. @@ -29,7 +31,7 @@ FileDownloadAnchorWebView >> initializeLabeled: aLabel applying: aComponentComma commandToComponent := aComponentCommand ] -{ #category : #rendering } +{ #category : 'rendering' } FileDownloadAnchorWebView >> renderContentOn: aCanvas [ aCanvas anchor diff --git a/source/Willow-Core/FloatCodec.class.st b/source/Willow-Core/FloatCodec.class.st index 4da8d056..7bafacc2 100644 --- a/source/Willow-Core/FloatCodec.class.st +++ b/source/Willow-Core/FloatCodec.class.st @@ -2,18 +2,20 @@ I'm an encoder/decoder of floats " Class { - #name : #FloatCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'FloatCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } FloatCodec >> canCreate: anObject [ ^anObject isNumber ] -{ #category : #converting } +{ #category : 'converting' } FloatCodec >> decode: aString [ | number | @@ -24,7 +26,7 @@ FloatCodec >> decode: aString [ ^ number ] -{ #category : #converting } +{ #category : 'converting' } FloatCodec >> encode: aNumber [ ^ aNumber asFloat greaseString diff --git a/source/Willow-Core/FormSubmitCommand.class.st b/source/Willow-Core/FormSubmitCommand.class.st index 9f8b53ac..bbd884dc 100644 --- a/source/Willow-Core/FormSubmitCommand.class.st +++ b/source/Willow-Core/FormSubmitCommand.class.st @@ -2,33 +2,35 @@ I'm a WebInteractionCommand that helps submiting forms " Class { - #name : #FormSubmitCommand, - #superclass : #WebInteractionCommand, + #name : 'FormSubmitCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'componentProvider' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } FormSubmitCommand class >> findingComponentUsing: aComponentProvider [ ^self new initializeFindingComponentUsing: aComponentProvider ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } FormSubmitCommand class >> forFormStyledAs: aCssStyle [ ^ self findingComponentUsing: [ :aCanvas | aCanvas jQuery cssSelector: (CssUniversalSelector implicit form class: aCssStyle) ] ] -{ #category : #'initialize - release' } +{ #category : 'initialize - release' } FormSubmitCommand >> initializeFindingComponentUsing: aComponentProvider [ componentProvider := aComponentProvider ] -{ #category : #accessing } +{ #category : 'accessing' } FormSubmitCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -36,19 +38,19 @@ FormSubmitCommand >> modelLoadingInstructions [ orderedAt: 10 ] -{ #category : #accessing } +{ #category : 'accessing' } FormSubmitCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } FormSubmitCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } FormSubmitCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/FrontendComponentSupplier.class.st b/source/Willow-Core/FrontendComponentSupplier.class.st index 73059bdd..64617de6 100644 --- a/source/Willow-Core/FrontendComponentSupplier.class.st +++ b/source/Willow-Core/FrontendComponentSupplier.class.st @@ -2,54 +2,56 @@ Abstract class for the front-end component suppliers, like Bootstrap, JqueryUI, etc. " Class { - #name : #FrontendComponentSupplier, - #superclass : #Object, - #category : #'Willow-Core-Frontend' + #name : 'FrontendComponentSupplier', + #superclass : 'Object', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> asynchronicButtonLabeled: aRenderable applying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> asynchronicLinkLabeled: aRenderable applying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> checkboxLabeled: aRenderable onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> checkboxUnlabeledOnModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> dateFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> decimalNumberFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> delayedViewShowing: aThrobber whileEvaluating: aBlock thenRendering: aRenderable [ ^ DelayedViewRenderer showing: aThrobber whileEvaluating: aBlock thenRendering: aRenderable ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> divisionContainerWrapping: aRenderable applying: aComponentCommand [ ^ ContainerWebView @@ -58,25 +60,25 @@ FrontendComponentSupplier >> divisionContainerWrapping: aRenderable applying: aC applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> dropdownListApplying: aComponentCommand [ ^ self dropdownListApplying: aComponentCommand applyingToOptions: [ ] ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> dropdownListApplying: aComponentCommand applyingToOptions: anOptionCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> fieldSetContaining: aWebView applying: fieldSetCommand withLegend: aTitle applying: legendCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> inlineContainerWrapping: aRenderable applying: aComponentCommand [ ^ ContainerWebView @@ -85,37 +87,37 @@ FrontendComponentSupplier >> inlineContainerWrapping: aRenderable applying: aCom applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> multiLineTextFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> multipleSelectionListBoxDisplayingAtOnce: aNumberOfElements applying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> naturalNumberFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> radioRenderingWith: aRenderingBlock applyingToLabel: aCommandToComponent applyingToInput: anObject [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> singleLineTextFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> singleSelectionListBoxDisplayingAtOnce: aNumberOfElements applying: aComponentCommand [ ^ self @@ -124,49 +126,49 @@ FrontendComponentSupplier >> singleSelectionListBoxDisplayingAtOnce: aNumberOfEl applyingToOptions: [ ] ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> singleSelectionListBoxDisplayingAtOnce: aNumberOfElements applying: aComponentCommand applyingToOptions: anOptionCommand [ self subclassResponsibility ] -{ #category : #Interaction } +{ #category : 'Interaction' } FrontendComponentSupplier >> statementToCloseDialogsIn: jQueryMatchingDialogContainer matching: dialogSupplier on: aCanvas [ ^ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> synchronicButtonLabeled: aRenderable applying: aComponentCommand evaluating: anActionBlock [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> synchronicLinkLabeled: aRenderable applying: aComponentCommand [ ^ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> tableBuilder [ ^ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> timeFieldApplying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Supplying } +{ #category : 'Supplying' } FrontendComponentSupplier >> unorderedListApplying: aCommandToList listing: aCollection applyingToEach: aCommandToItem [ ^ self subclassResponsibility ] -{ #category : #Processing } +{ #category : 'Processing' } FrontendComponentSupplier >> updateRoot: aRoot [ self subclassResponsibility diff --git a/source/Willow-Core/FunctionEvaluationTrigger.class.st b/source/Willow-Core/FunctionEvaluationTrigger.class.st index f387cd50..d611030a 100644 --- a/source/Willow-Core/FunctionEvaluationTrigger.class.st +++ b/source/Willow-Core/FunctionEvaluationTrigger.class.st @@ -1,26 +1,28 @@ Class { - #name : #FunctionEvaluationTrigger, - #superclass : #TriggeringPolicy, + #name : 'FunctionEvaluationTrigger', + #superclass : 'TriggeringPolicy', #instVars : [ 'functionSelector', 'argumentNames' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } FunctionEvaluationTrigger class >> sending: aFunctionSelector parameterizedBy: anArgumentNameCollection [ ^ self new initializeSending: aFunctionSelector parameterizedBy: anArgumentNameCollection ] -{ #category : #evaluating } +{ #category : 'evaluating' } FunctionEvaluationTrigger >> apply: anAsynchronousCall to: aComponent on: aCanvas [ aComponent perform: functionSelector with: ( anAsynchronousCall asFunction: argumentNames ) ] -{ #category : #initialization } +{ #category : 'initialization' } FunctionEvaluationTrigger >> initializeSending: aFunctionSelector parameterizedBy: anArgumentNameCollection [ functionSelector := aFunctionSelector. diff --git a/source/Willow-Core/GRSmallOrderedSet.extension.st b/source/Willow-Core/GRSmallOrderedSet.extension.st index 90613fe7..ddc6d34d 100644 --- a/source/Willow-Core/GRSmallOrderedSet.extension.st +++ b/source/Willow-Core/GRSmallOrderedSet.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #GRSmallOrderedSet } +Extension { #name : 'GRSmallOrderedSet' } -{ #category : #'*Willow-Core-SeasideExtensions' } +{ #category : '*Willow-Core-SeasideExtensions' } GRSmallOrderedSet >> at: anIndex [ ^ table at: anIndex diff --git a/source/Willow-Core/HeadingWebView.class.st b/source/Willow-Core/HeadingWebView.class.st index 785c6e59..5e5cab7f 100644 --- a/source/Willow-Core/HeadingWebView.class.st +++ b/source/Willow-Core/HeadingWebView.class.st @@ -2,29 +2,31 @@ I represent a document heading " Class { - #name : #HeadingWebView, - #superclass : #WAPainter, + #name : 'HeadingWebView', + #superclass : 'WAPainter', #instVars : [ 'text', 'level', 'commandToComponent' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } HeadingWebView class >> displaying: aHeadingText withLevel: aLevel [ ^ self displaying: aHeadingText withLevel: aLevel applying: [ :container | ] ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } HeadingWebView class >> displaying: aHeadingText withLevel: aLevel applying: aCommand [ ^self new initializeDisplaying: aHeadingText withLevel: aLevel applying: aCommand asWebComponentCommand ] -{ #category : #initialization } +{ #category : 'initialization' } HeadingWebView >> initializeDisplaying: aHeadingText withLevel: aLevel applying: aCommand [ text := aHeadingText. @@ -32,7 +34,7 @@ HeadingWebView >> initializeDisplaying: aHeadingText withLevel: aLevel applying: commandToComponent := aCommand ] -{ #category : #rendering } +{ #category : 'rendering' } HeadingWebView >> renderContentOn: aCanvas [ aCanvas heading diff --git a/source/Willow-Core/Html5ComponentSupplier.class.st b/source/Willow-Core/Html5ComponentSupplier.class.st index f60ced67..de54eb81 100644 --- a/source/Willow-Core/Html5ComponentSupplier.class.st +++ b/source/Willow-Core/Html5ComponentSupplier.class.st @@ -2,24 +2,26 @@ I provide plain HTML 5 components. " Class { - #name : #Html5ComponentSupplier, - #superclass : #FrontendComponentSupplier, - #category : #'Willow-Core-Frontend' + #name : 'Html5ComponentSupplier', + #superclass : 'FrontendComponentSupplier', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> asynchronicButtonLabeled: aRenderable applying: aComponentCommand [ ^ AsynchronicButtonWebView labeled: aRenderable applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> asynchronicLinkLabeled: aRenderable applying: aComponentCommand [ ^ LinkWebView asynchronicLabeled: aRenderable applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> checkboxLabeled: aRenderable onModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ ^ CheckboxWebView @@ -29,7 +31,7 @@ Html5ComponentSupplier >> checkboxLabeled: aRenderable onModel: anObjectToUseWhe applying: aCommandToComponent ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> checkboxUnlabeledOnModel: anObjectToUseWhenOn offModel: anObjectToUseWhenOff applying: aCommandToComponent [ ^ CheckboxWebView @@ -38,19 +40,19 @@ Html5ComponentSupplier >> checkboxUnlabeledOnModel: anObjectToUseWhenOn offModel applying: aCommandToComponent ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> dateFieldApplying: aComponentCommand [ ^ DateFieldWebView applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> decimalNumberFieldApplying: aComponentCommand [ ^ NumberFieldWebView applying: aComponentCommand transformingWith: FloatCodec new ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> dropdownListApplying: aComponentCommand applyingToOptions: anOptionCommand [ ^ SingleSelectionWebView @@ -58,7 +60,7 @@ Html5ComponentSupplier >> dropdownListApplying: aComponentCommand applyingToOpti applyingToOptions: anOptionCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> fieldSetContaining: aWebView applying: fieldSetCommand withLegend: aTitle applying: legendCommand [ ^ FieldSetWebView @@ -68,25 +70,25 @@ Html5ComponentSupplier >> fieldSetContaining: aWebView applying: fieldSetCommand applying: legendCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> multiLineTextFieldApplying: aComponentCommand [ ^ TextFieldWebView multiLineApplying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> multipleSelectionListBoxDisplayingAtOnce: aNumberOfElements applying: aComponentCommand [ ^ MultipleSelectionListBoxWebView displayingAtOnce: aNumberOfElements applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> naturalNumberFieldApplying: aComponentCommand [ ^ NumberFieldWebView applying: [ :field | field boundNotNegative + aComponentCommand ] transformingWith: NaturalNumberCodec new ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> radioRenderingWith: aRenderingBlock applyingToLabel: aLabelCommand applyingToInput: anInputCommand [ ^ RadioGroupWebView @@ -95,13 +97,13 @@ Html5ComponentSupplier >> radioRenderingWith: aRenderingBlock applyingToLabel: a applyingToInput: anInputCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> singleLineTextFieldApplying: aComponentCommand [ ^ TextFieldWebView singleLineApplying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> singleSelectionListBoxDisplayingAtOnce: aNumberOfElements applying: aComponentCommand applyingToOptions: anOptionCommand [ ^ SingleSelectionWebView @@ -110,14 +112,14 @@ Html5ComponentSupplier >> singleSelectionListBoxDisplayingAtOnce: aNumberOfEleme applyingToOptions: anOptionCommand ] -{ #category : #Interaction } +{ #category : 'Interaction' } Html5ComponentSupplier >> statementToCloseDialogsIn: jQueryMatchingDialogContainer matching: dialogSupplier on: aCanvas [ ^ ( dialogSupplier value: ( jQueryMatchingDialogContainer children: 'dialog' ) ) removeAttribute: 'open' ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> synchronicButtonLabeled: aRenderable applying: aComponentCommand evaluating: anActionBlock [ ^ SynchronicSubmitButtonWebView @@ -126,31 +128,31 @@ Html5ComponentSupplier >> synchronicButtonLabeled: aRenderable applying: aCompon evaluating: anActionBlock ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> synchronicLinkLabeled: aRenderable applying: aComponentCommand [ ^ LinkWebView synchronicLabeled: aRenderable applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> tableBuilder [ ^ TableWebViewBuilder new ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> timeFieldApplying: aComponentCommand [ ^ TimeFieldWebView applying: aComponentCommand ] -{ #category : #Supplying } +{ #category : 'Supplying' } Html5ComponentSupplier >> unorderedListApplying: aCommandToList listing: aCollection applyingToEach: aCommandToItem [ ^ UnorderedListWebView applying: aCommandToList listing: aCollection applyingToEach: aCommandToItem ] -{ #category : #Processing } +{ #category : 'Processing' } Html5ComponentSupplier >> updateRoot: aRoot [ aRoot beHtml5 diff --git a/source/Willow-Core/ISODateCodec.class.st b/source/Willow-Core/ISODateCodec.class.st index 82b1e7f6..a46f6919 100644 --- a/source/Willow-Core/ISODateCodec.class.st +++ b/source/Willow-Core/ISODateCodec.class.st @@ -2,18 +2,20 @@ I'm an encoder/decoder of Dates " Class { - #name : #ISODateCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'ISODateCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } ISODateCodec >> canCreate: anObject [ ^anObject isA: Date ] -{ #category : #converting } +{ #category : 'converting' } ISODateCodec >> decode: aString [ ^ [ Date readFrom: aString pattern: 'yyyy-mm-dd' ] @@ -21,7 +23,7 @@ ISODateCodec >> decode: aString [ do: [ :error | InstanceCreationFailed signal: error messageText ] ] -{ #category : #converting } +{ #category : 'converting' } ISODateCodec >> encode: aDate [ ^ GRPrinter isoDate print: aDate diff --git a/source/Willow-Core/ISOTimeCodec.class.st b/source/Willow-Core/ISOTimeCodec.class.st index e11aae71..48095682 100644 --- a/source/Willow-Core/ISOTimeCodec.class.st +++ b/source/Willow-Core/ISOTimeCodec.class.st @@ -2,12 +2,14 @@ I'm an encoder/decoder of Times " Class { - #name : #ISOTimeCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'ISOTimeCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'private - preconditions' } +{ #category : 'private - preconditions' } ISOTimeCodec >> assertIsValidHour: aPotentialHour [ AssertionChecker @@ -16,7 +18,7 @@ ISOTimeCodec >> assertIsValidHour: aPotentialHour [ raising: InstanceCreationFailed ] -{ #category : #'private - preconditions' } +{ #category : 'private - preconditions' } ISOTimeCodec >> assertIsValidMinute: aPotentialMinute [ AssertionChecker @@ -25,7 +27,7 @@ ISOTimeCodec >> assertIsValidMinute: aPotentialMinute [ raising: InstanceCreationFailed ] -{ #category : #'private - preconditions' } +{ #category : 'private - preconditions' } ISOTimeCodec >> assertIsValidSecond: aPotentialSecond [ AssertionChecker @@ -34,13 +36,13 @@ ISOTimeCodec >> assertIsValidSecond: aPotentialSecond [ raising: InstanceCreationFailed ] -{ #category : #testing } +{ #category : 'testing' } ISOTimeCodec >> canCreate: anObject [ ^ anObject isA: Time ] -{ #category : #testing } +{ #category : 'testing' } ISOTimeCodec >> decode: aString [ | hour minute second | @@ -71,13 +73,13 @@ ISOTimeCodec >> decode: aString [ ^ Time hour: hour minute: minute second: second ] -{ #category : #testing } +{ #category : 'testing' } ISOTimeCodec >> encode: aTime [ ^ GRPrinter isoTime print: aTime ] -{ #category : #'private - parsing' } +{ #category : 'private - parsing' } ISOTimeCodec >> readIntegerFrom: aString [ ^ Integer diff --git a/source/Willow-Core/ImageWebView.class.st b/source/Willow-Core/ImageWebView.class.st index e28e3e0e..ba59f68e 100644 --- a/source/Willow-Core/ImageWebView.class.st +++ b/source/Willow-Core/ImageWebView.class.st @@ -2,46 +2,66 @@ I represent an image that can optionally be interactive. " Class { - #name : #ImageWebView, - #superclass : #WAPainter, + #name : 'ImageWebView', + #superclass : 'WAPainter', #instVars : [ 'interactionInterpreter', 'commandToComponent', - 'imageLocation' + 'imageLocation', + 'identifierAssigner' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ImageWebView class >> locatedAt: aLocation applying: aComponentCommand [ - ^ self new initializeLocatedAt: aLocation applying: aComponentCommand asWebComponentCommand + ^ self new initializeLocatedAt: aLocation applying: aComponentCommand asWebComponentCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } ImageWebView class >> ofType: aMimeType base64EncodedAs: imageInBase64 applying: aComponentCommand [ - ^ self locatedAt: ('data:<1s>;base64,<2s>' expandMacrosWith: aMimeType greaseString with: imageInBase64) applying: aComponentCommand + ^ self + locatedAt: + ( 'data:<1s>;base64,<2s>' expandMacrosWith: aMimeType greaseString with: imageInBase64 ) + applying: aComponentCommand ] -{ #category : #initialization } +{ #category : 'configuring' } +ImageWebView >> beIdentifiable [ + + ^ identifierAssigner beRequired +] + +{ #category : 'accessing' } +ImageWebView >> identifierOn: aCanvas [ + + ^ identifierAssigner identifierOn: aCanvas +] + +{ #category : 'initialization' } ImageWebView >> initializeLocatedAt: aLocation applying: aComponentCommand [ imageLocation := aLocation. commandToComponent := aComponentCommand. - interactionInterpreter := EventInterpreterDispatcher defaultingToClick + interactionInterpreter := EventInterpreterDispatcher defaultingToClick. + identifierAssigner := IdentifierAssigner prefixedBy: 'image' ] -{ #category : #configuring } +{ #category : 'configuring' } ImageWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } ImageWebView >> renderContentOn: aCanvas [ aCanvas image + beIdentifiableUsing: identifierAssigner; url: imageLocation; apply: commandToComponent; interactUsing: interactionInterpreter diff --git a/source/Willow-Core/InputFieldMaxLengthCommand.class.st b/source/Willow-Core/InputFieldMaxLengthCommand.class.st index 93f9748a..e98f2360 100644 --- a/source/Willow-Core/InputFieldMaxLengthCommand.class.st +++ b/source/Willow-Core/InputFieldMaxLengthCommand.class.st @@ -2,27 +2,29 @@ Command to configure maximum length of an input field " Class { - #name : #InputFieldMaxLengthCommand, - #superclass : #WebComponentCommand, + #name : 'InputFieldMaxLengthCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'maxLength' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputFieldMaxLengthCommand class >> allowingUpTo: anAmount [ ^self new initializeAllowingUpTo: anAmount ] -{ #category : #processing } +{ #category : 'processing' } InputFieldMaxLengthCommand >> applyTo: aComponent on: aCanvas [ aComponent maxLength: maxLength ] -{ #category : #initialization } +{ #category : 'initialization' } InputFieldMaxLengthCommand >> initializeAllowingUpTo: anAmount [ maxLength := anAmount diff --git a/source/Willow-Core/InputModeCommand.class.st b/source/Willow-Core/InputModeCommand.class.st index a9339374..2821581d 100644 --- a/source/Willow-Core/InputModeCommand.class.st +++ b/source/Willow-Core/InputModeCommand.class.st @@ -2,63 +2,65 @@ I'm a command configuring an input field to be of an specific type " Class { - #name : #InputModeCommand, - #superclass : #WebComponentCommand, + #name : 'InputModeCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'type' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asDate [ ^ self settingTypeTo: 'date' ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asEmail [ ^ self settingTypeTo: 'email' ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asNumber [ ^ self settingTypeTo: 'number' ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asPassword [ ^ self settingTypeTo: 'password' ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asText [ ^ self settingTypeTo: 'text' ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } InputModeCommand class >> asTime [ ^ self settingTypeTo: 'time' ] -{ #category : #'private-Instance Creation' } +{ #category : 'private-Instance Creation' } InputModeCommand class >> settingTypeTo: aType [ ^ self new initializeSettingTypeTo: aType ] -{ #category : #processing } +{ #category : 'processing' } InputModeCommand >> applyTo: aComponent on: aCanvas [ aComponent type: type ] -{ #category : #initialization } +{ #category : 'initialization' } InputModeCommand >> initializeSettingTypeTo: aType [ type := aType diff --git a/source/Willow-Core/IntegerCodec.class.st b/source/Willow-Core/IntegerCodec.class.st index 12629923..f97287b7 100644 --- a/source/Willow-Core/IntegerCodec.class.st +++ b/source/Willow-Core/IntegerCodec.class.st @@ -2,24 +2,26 @@ I'm an encoder/decoder of integers " Class { - #name : #IntegerCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'IntegerCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } IntegerCodec >> canCreate: anObject [ ^anObject isInteger ] -{ #category : #converting } +{ #category : 'converting' } IntegerCodec >> decode: aString [ ^ aString greaseInteger ifNil: [ 0 ] ifNotNil: [ :integer | integer ] ] -{ #category : #converting } +{ #category : 'converting' } IntegerCodec >> encode: anInteger [ ^ anInteger greaseString diff --git a/source/Willow-Core/InteractionScriptTrigger.class.st b/source/Willow-Core/InteractionScriptTrigger.class.st index e880ac82..a1cee273 100644 --- a/source/Willow-Core/InteractionScriptTrigger.class.st +++ b/source/Willow-Core/InteractionScriptTrigger.class.st @@ -1,19 +1,21 @@ Class { - #name : #InteractionScriptTrigger, - #superclass : #TriggeringPolicy, + #name : 'InteractionScriptTrigger', + #superclass : 'TriggeringPolicy', #instVars : [ 'eventName' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } InteractionScriptTrigger class >> interactCalling: anEventName [ ^ self new initializeInteractCalling: anEventName ] -{ #category : #evaluating } +{ #category : 'evaluating' } InteractionScriptTrigger >> apply: aJavascriptScript to: aComponent on: aCanvas [ aCanvas ensureIdFor: aComponent. @@ -21,7 +23,7 @@ InteractionScriptTrigger >> apply: aJavascriptScript to: aComponent on: aCanvas script: ( aCanvas jQuery this call: eventName with: ( aJavascriptScript asFunction: #(event) ) ) ] -{ #category : #initialization } +{ #category : 'initialization' } InteractionScriptTrigger >> initializeInteractCalling: anEventName [ eventName := anEventName diff --git a/source/Willow-Core/JQAjaxSetup.extension.st b/source/Willow-Core/JQAjaxSetup.extension.st index 52afea98..b9002234 100644 --- a/source/Willow-Core/JQAjaxSetup.extension.st +++ b/source/Willow-Core/JQAjaxSetup.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #JQAjaxSetup } +Extension { #name : 'JQAjaxSetup' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } JQAjaxSetup >> bePost [ self type: 'POST' diff --git a/source/Willow-Core/JQuery3DeploymentMetadataLibrary.class.st b/source/Willow-Core/JQuery3DeploymentMetadataLibrary.class.st index 1f906511..01ea6983 100644 --- a/source/Willow-Core/JQuery3DeploymentMetadataLibrary.class.st +++ b/source/Willow-Core/JQuery3DeploymentMetadataLibrary.class.st @@ -2,12 +2,14 @@ I'm a WALibrary serving the files in source form, suitable for deployment " Class { - #name : #JQuery3DeploymentMetadataLibrary, - #superclass : #JQuery3MetadataLibrary, - #category : #'Willow-Core-Libraries' + #name : 'JQuery3DeploymentMetadataLibrary', + #superclass : 'JQuery3MetadataLibrary', + #category : 'Willow-Core-Libraries', + #package : 'Willow-Core', + #tag : 'Libraries' } -{ #category : #'uploaded metadata' } +{ #category : 'uploaded metadata' } JQuery3DeploymentMetadataLibrary >> jquery370minJs [ ^ WAFileLibraryResource @@ -17,14 +19,14 @@ JQuery3DeploymentMetadataLibrary >> jquery370minJs [ contents: (GRDelayedSend receiver: self selector: #jquery370minJsContent) ] -{ #category : #uploaded } +{ #category : 'uploaded' } JQuery3DeploymentMetadataLibrary >> jquery370minJsContent [ ^ '/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.0",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&z(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function X(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function z(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='''']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Me(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0> jquery370minMap [ ^ WAFileLibraryResource @@ -34,12 +36,12 @@ JQuery3DeploymentMetadataLibrary >> jquery370minMap [ contents: (GRDelayedSend receiver: self selector: #jquery370minMapContent) ] -{ #category : #uploaded } +{ #category : 'uploaded' } JQuery3DeploymentMetadataLibrary >> jquery370minMapContent [ ^ #[123 34 118 101 114 115 105 111 110 34 58 51 44 34 115 111 117 114 99 101 115 34 58 91 34 106 113 117 101 114 121 45 51 46 55 46 48 46 106 115 34 93 44 34 110 97 109 101 115 34 58 91 34 103 108 111 98 97 108 34 44 34 102 97 99 116 111 114 121 34 44 34 109 111 100 117 108 101 34 44 34 101 120 112 111 114 116 115 34 44 34 100 111 99 117 109 101 110 116 34 44 34 119 34 44 34 69 114 114 111 114 34 44 34 119 105 110 100 111 119 34 44 34 116 104 105 115 34 44 34 110 111 71 108 111 98 97 108 34 44 34 97 114 114 34 44 34 103 101 116 80 114 111 116 111 34 44 34 79 98 106 101 99 116 34 44 34 103 101 116 80 114 111 116 111 116 121 112 101 79 102 34 44 34 115 108 105 99 101 34 44 34 102 108 97 116 34 44 34 97 114 114 97 121 34 44 34 99 97 108 108 34 44 34 99 111 110 99 97 116 34 44 34 97 112 112 108 121 34 44 34 112 117 115 104 34 44 34 105 110 100 101 120 79 102 34 44 34 99 108 97 115 115 50 116 121 112 101 34 44 34 116 111 83 116 114 105 110 103 34 44 34 104 97 115 79 119 110 34 44 34 104 97 115 79 119 110 80 114 111 112 101 114 116 121 34 44 34 102 110 84 111 83 116 114 105 110 103 34 44 34 79 98 106 101 99 116 70 117 110 99 116 105 111 110 83 116 114 105 110 103 34 44 34 115 117 112 112 111 114 116 34 44 34 105 115 70 117 110 99 116 105 111 110 34 44 34 111 98 106 34 44 34 110 111 100 101 84 121 112 101 34 44 34 105 116 101 109 34 44 34 105 115 87 105 110 100 111 119 34 44 34 112 114 101 115 101 114 118 101 100 83 99 114 105 112 116 65 116 116 114 105 98 117 116 101 115 34 44 34 116 121 112 101 34 44 34 115 114 99 34 44 34 110 111 110 99 101 34 44 34 110 111 77 111 100 117 108 101 34 44 34 68 79 77 69 118 97 108 34 44 34 99 111 100 101 34 44 34 110 111 100 101 34 44 34 100 111 99 34 44 34 105 34 44 34 118 97 108 34 44 34 115 99 114 105 112 116 34 44 34 99 114 101 97 116 101 69 108 101 109 101 110 116 34 44 34 116 101 120 116 34 44 34 103 101 116 65 116 116 114 105 98 117 116 101 34 44 34 115 101 116 65 116 116 114 105 98 117 116 101 34 44 34 104 101 97 100 34 44 34 97 112 112 101 110 100 67 104 105 108 100 34 44 34 112 97 114 101 110 116 78 111 100 101 34 44 34 114 101 109 111 118 101 67 104 105 108 100 34 44 34 116 111 84 121 112 101 34 44 34 118 101 114 115 105 111 110 34 44 34 114 104 116 109 108 83 117 102 102 105 120 34 44 34 106 81 117 101 114 121 34 44 34 115 101 108 101 99 116 111 114 34 44 34 99 111 110 116 101 120 116 34 44 34 102 110 34 44 34 105 110 105 116 34 44 34 105 115 65 114 114 97 121 76 105 107 101 34 44 34 108 101 110 103 116 104 34 44 34 110 111 100 101 78 97 109 101 34 44 34 101 108 101 109 34 44 34 110 97 109 101 34 44 34 116 111 76 111 119 101 114 67 97 115 101 34 44 34 112 114 111 116 111 116 121 112 101 34 44 34 106 113 117 101 114 121 34 44 34 99 111 110 115 116 114 117 99 116 111 114 34 44 34 116 111 65 114 114 97 121 34 44 34 103 101 116 34 44 34 110 117 109 34 44 34 112 117 115 104 83 116 97 99 107 34 44 34 101 108 101 109 115 34 44 34 114 101 116 34 44 34 109 101 114 103 101 34 44 34 112 114 101 118 79 98 106 101 99 116 34 44 34 101 97 99 104 34 44 34 99 97 108 108 98 97 99 107 34 44 34 109 97 112 34 44 34 97 114 103 117 109 101 110 116 115 34 44 34 102 105 114 115 116 34 44 34 101 113 34 44 34 108 97 115 116 34 44 34 101 118 101 110 34 44 34 103 114 101 112 34 44 34 95 101 108 101 109 34 44 34 111 100 100 34 44 34 108 101 110 34 44 34 106 34 44 34 101 110 100 34 44 34 115 111 114 116 34 44 34 115 112 108 105 99 101 34 44 34 101 120 116 101 110 100 34 44 34 111 112 116 105 111 110 115 34 44 34 99 111 112 121 34 44 34 99 111 112 121 73 115 65 114 114 97 121 34 44 34 99 108 111 110 101 34 44 34 116 97 114 103 101 116 34 44 34 100 101 101 112 34 44 34 105 115 80 108 97 105 110 79 98 106 101 99 116 34 44 34 65 114 114 97 121 34 44 34 105 115 65 114 114 97 121 34 44 34 117 110 100 101 102 105 110 101 100 34 44 34 101 120 112 97 110 100 111 34 44 34 77 97 116 104 34 44 34 114 97 110 100 111 109 34 44 34 114 101 112 108 97 99 101 34 44 34 105 115 82 101 97 100 121 34 44 34 101 114 114 111 114 34 44 34 109 115 103 34 44 34 110 111 111 112 34 44 34 112 114 111 116 111 34 44 34 67 116 111 114 34 44 34 105 115 69 109 112 116 121 79 98 106 101 99 116 34 44 34 103 108 111 98 97 108 69 118 97 108 34 44 34 116 101 120 116 67 111 110 116 101 110 116 34 44 34 110 111 100 101 86 97 108 117 101 34 44 34 109 97 107 101 65 114 114 97 121 34 44 34 114 101 115 117 108 116 115 34 44 34 105 110 65 114 114 97 121 34 44 34 105 115 88 77 76 68 111 99 34 44 34 110 97 109 101 115 112 97 99 101 34 44 34 110 97 109 101 115 112 97 99 101 85 82 73 34 44 34 100 111 99 69 108 101 109 34 44 34 111 119 110 101 114 68 111 99 117 109 101 110 116 34 44 34 100 111 99 117 109 101 110 116 69 108 101 109 101 110 116 34 44 34 116 101 115 116 34 44 34 115 101 99 111 110 100 34 44 34 105 110 118 101 114 116 34 44 34 109 97 116 99 104 101 115 34 44 34 99 97 108 108 98 97 99 107 69 120 112 101 99 116 34 44 34 97 114 103 34 44 34 118 97 108 117 101 34 44 34 103 117 105 100 34 44 34 83 121 109 98 111 108 34 44 34 105 116 101 114 97 116 111 114 34 44 34 115 112 108 105 116 34 44 34 95 105 34 44 34 112 111 112 34 44 34 119 104 105 116 101 115 112 97 99 101 34 44 34 114 116 114 105 109 67 83 83 34 44 34 82 101 103 69 120 112 34 44 34 99 111 110 116 97 105 110 115 34 44 34 97 34 44 34 98 34 44 34 98 117 112 34 44 34 99 111 109 112 97 114 101 68 111 99 117 109 101 110 116 80 111 115 105 116 105 111 110 34 44 34 114 99 115 115 101 115 99 97 112 101 34 44 34 102 99 115 115 101 115 99 97 112 101 34 44 34 99 104 34 44 34 97 115 67 111 100 101 80 111 105 110 116 34 44 34 99 104 97 114 67 111 100 101 65 116 34 44 34 101 115 99 97 112 101 83 101 108 101 99 116 111 114 34 44 34 115 101 108 34 44 34 112 114 101 102 101 114 114 101 100 68 111 99 34 44 34 112 117 115 104 78 97 116 105 118 101 34 44 34 69 120 112 114 34 44 34 111 117 116 101 114 109 111 115 116 67 111 110 116 101 120 116 34 44 34 115 111 114 116 73 110 112 117 116 34 44 34 104 97 115 68 117 112 108 105 99 97 116 101 34 44 34 100 111 99 117 109 101 110 116 73 115 72 84 77 76 34 44 34 114 98 117 103 103 121 81 83 65 34 44 34 100 105 114 114 117 110 115 34 44 34 100 111 110 101 34 44 34 99 108 97 115 115 67 97 99 104 101 34 44 34 99 114 101 97 116 101 67 97 99 104 101 34 44 34 116 111 107 101 110 67 97 99 104 101 34 44 34 99 111 109 112 105 108 101 114 67 97 99 104 101 34 44 34 110 111 110 110 97 116 105 118 101 83 101 108 101 99 116 111 114 67 97 99 104 101 34 44 34 115 111 114 116 79 114 100 101 114 34 44 34 98 111 111 108 101 97 110 115 34 44 34 105 100 101 110 116 105 102 105 101 114 34 44 34 97 116 116 114 105 98 117 116 101 115 34 44 34 112 115 101 117 100 111 115 34 44 34 114 119 104 105 116 101 115 112 97 99 101 34 44 34 114 99 111 109 109 97 34 44 34 114 108 101 97 100 105 110 103 67 111 109 98 105 110 97 116 111 114 34 44 34 114 100 101 115 99 101 110 100 34 44 34 114 112 115 101 117 100 111 34 44 34 114 105 100 101 110 116 105 102 105 101 114 34 44 34 109 97 116 99 104 69 120 112 114 34 44 34 73 68 34 44 34 67 76 65 83 83 34 44 34 84 65 71 34 44 34 65 84 84 82 34 44 34 80 83 69 85 68 79 34 44 34 67 72 73 76 68 34 44 34 98 111 111 108 34 44 34 110 101 101 100 115 67 111 110 116 101 120 116 34 44 34 114 105 110 112 117 116 115 34 44 34 114 104 101 97 100 101 114 34 44 34 114 113 117 105 99 107 69 120 112 114 34 44 34 114 115 105 98 108 105 110 103 34 44 34 114 117 110 101 115 99 97 112 101 34 44 34 102 117 110 101 115 99 97 112 101 34 44 34 101 115 99 97 112 101 34 44 34 110 111 110 72 101 120 34 44 34 104 105 103 104 34 44 34 83 116 114 105 110 103 34 44 34 102 114 111 109 67 104 97 114 67 111 100 101 34 44 34 117 110 108 111 97 100 72 97 110 100 108 101 114 34 44 34 115 101 116 68 111 99 117 109 101 110 116 34 44 34 105 110 68 105 115 97 98 108 101 100 70 105 101 108 100 115 101 116 34 44 34 97 100 100 67 111 109 98 105 110 97 116 111 114 34 44 34 100 105 115 97 98 108 101 100 34 44 34 100 105 114 34 44 34 110 101 120 116 34 44 34 99 104 105 108 100 78 111 100 101 115 34 44 34 101 34 44 34 101 108 115 34 44 34 102 105 110 100 34 44 34 115 101 101 100 34 44 34 109 34 44 34 110 105 100 34 44 34 109 97 116 99 104 34 44 34 103 114 111 117 112 115 34 44 34 110 101 119 83 101 108 101 99 116 111 114 34 44 34 110 101 119 67 111 110 116 101 120 116 34 44 34 101 120 101 99 34 44 34 103 101 116 69 108 101 109 101 110 116 66 121 73 100 34 44 34 105 100 34 44 34 103 101 116 69 108 101 109 101 110 116 115 66 121 84 97 103 78 97 109 101 34 44 34 103 101 116 69 108 101 109 101 110 116 115 66 121 67 108 97 115 115 78 97 109 101 34 44 34 116 101 115 116 67 111 110 116 101 120 116 34 44 34 115 99 111 112 101 34 44 34 116 111 107 101 110 105 122 101 34 44 34 116 111 83 101 108 101 99 116 111 114 34 44 34 106 111 105 110 34 44 34 113 117 101 114 121 83 101 108 101 99 116 111 114 65 108 108 34 44 34 113 115 97 69 114 114 111 114 34 44 34 114 101 109 111 118 101 65 116 116 114 105 98 117 116 101 34 44 34 115 101 108 101 99 116 34 44 34 107 101 121 115 34 44 34 99 97 99 104 101 34 44 34 107 101 121 34 44 34 99 97 99 104 101 76 101 110 103 116 104 34 44 34 115 104 105 102 116 34 44 34 109 97 114 107 70 117 110 99 116 105 111 110 34 44 34 97 115 115 101 114 116 34 44 34 101 108 34 44 34 99 114 101 97 116 101 73 110 112 117 116 80 115 101 117 100 111 34 44 34 99 114 101 97 116 101 66 117 116 116 111 110 80 115 101 117 100 111 34 44 34 99 114 101 97 116 101 68 105 115 97 98 108 101 100 80 115 101 117 100 111 34 44 34 105 115 68 105 115 97 98 108 101 100 34 44 34 99 114 101 97 116 101 80 111 115 105 116 105 111 110 97 108 80 115 101 117 100 111 34 44 34 97 114 103 117 109 101 110 116 34 44 34 109 97 116 99 104 73 110 100 101 120 101 115 34 44 34 115 117 98 87 105 110 100 111 119 34 44 34 119 101 98 107 105 116 77 97 116 99 104 101 115 83 101 108 101 99 116 111 114 34 44 34 109 115 77 97 116 99 104 101 115 83 101 108 101 99 116 111 114 34 44 34 100 101 102 97 117 108 116 86 105 101 119 34 44 34 116 111 112 34 44 34 97 100 100 69 118 101 110 116 76 105 115 116 101 110 101 114 34 44 34 103 101 116 66 121 73 100 34 44 34 103 101 116 69 108 101 109 101 110 116 115 66 121 78 97 109 101 34 44 34 100 105 115 99 111 110 110 101 99 116 101 100 77 97 116 99 104 34 44 34 99 115 115 72 97 115 34 44 34 113 117 101 114 121 83 101 108 101 99 116 111 114 34 44 34 102 105 108 116 101 114 34 44 34 97 116 116 114 73 100 34 44 34 103 101 116 65 116 116 114 105 98 117 116 101 78 111 100 101 34 44 34 116 97 103 34 44 34 99 108 97 115 115 78 97 109 101 34 44 34 105 110 112 117 116 34 44 34 105 110 110 101 114 72 84 77 76 34 44 34 99 111 109 112 97 114 101 34 44 34 115 111 114 116 68 101 116 97 99 104 101 100 34 44 34 101 120 112 114 34 44 34 101 108 101 109 101 110 116 115 34 44 34 109 97 116 99 104 101 115 83 101 108 101 99 116 111 114 34 44 34 97 116 116 114 34 44 34 97 116 116 114 72 97 110 100 108 101 34 44 34 117 110 105 113 117 101 83 111 114 116 34 44 34 100 117 112 108 105 99 97 116 101 115 34 44 34 115 111 114 116 83 116 97 98 108 101 34 44 34 99 114 101 97 116 101 80 115 101 117 100 111 34 44 34 114 101 108 97 116 105 118 101 34 44 34 62 34 44 34 32 34 44 34 43 34 44 34 126 34 44 34 112 114 101 70 105 108 116 101 114 34 44 34 101 120 99 101 115 115 34 44 34 117 110 113 117 111 116 101 100 34 44 34 110 111 100 101 78 97 109 101 83 101 108 101 99 116 111 114 34 44 34 101 120 112 101 99 116 101 100 78 111 100 101 78 97 109 101 34 44 34 112 97 116 116 101 114 110 34 44 34 111 112 101 114 97 116 111 114 34 44 34 99 104 101 99 107 34 44 34 114 101 115 117 108 116 34 44 34 119 104 97 116 34 44 34 95 97 114 103 117 109 101 110 116 34 44 34 115 105 109 112 108 101 34 44 34 102 111 114 119 97 114 100 34 44 34 111 102 84 121 112 101 34 44 34 95 99 111 110 116 101 120 116 34 44 34 120 109 108 34 44 34 111 117 116 101 114 67 97 99 104 101 34 44 34 110 111 100 101 73 110 100 101 120 34 44 34 115 116 97 114 116 34 44 34 112 97 114 101 110 116 34 44 34 117 115 101 67 97 99 104 101 34 44 34 100 105 102 102 34 44 34 102 105 114 115 116 67 104 105 108 100 34 44 34 108 97 115 116 67 104 105 108 100 34 44 34 112 115 101 117 100 111 34 44 34 97 114 103 115 34 44 34 115 101 116 70 105 108 116 101 114 115 34 44 34 105 100 120 34 44 34 109 97 116 99 104 101 100 34 44 34 110 111 116 34 44 34 109 97 116 99 104 101 114 34 44 34 99 111 109 112 105 108 101 34 44 34 117 110 109 97 116 99 104 101 100 34 44 34 104 97 115 34 44 34 108 97 110 103 34 44 34 101 108 101 109 76 97 110 103 34 44 34 104 97 115 104 34 44 34 108 111 99 97 116 105 111 110 34 44 34 114 111 111 116 34 44 34 102 111 99 117 115 34 44 34 97 99 116 105 118 101 69 108 101 109 101 110 116 34 44 34 101 114 114 34 44 34 115 97 102 101 65 99 116 105 118 101 69 108 101 109 101 110 116 34 44 34 104 97 115 70 111 99 117 115 34 44 34 104 114 101 102 34 44 34 116 97 98 73 110 100 101 120 34 44 34 101 110 97 98 108 101 100 34 44 34 99 104 101 99 107 101 100 34 44 34 115 101 108 101 99 116 101 100 34 44 34 115 101 108 101 99 116 101 100 73 110 100 101 120 34 44 34 101 109 112 116 121 34 44 34 110 101 120 116 83 105 98 108 105 110 103 34 44 34 104 101 97 100 101 114 34 44 34 98 117 116 116 111 110 34 44 34 95 109 97 116 99 104 73 110 100 101 120 101 115 34 44 34 108 116 34 44 34 103 116 34 44 34 110 116 104 34 44 34 114 97 100 105 111 34 44 34 99 104 101 99 107 98 111 120 34 44 34 102 105 108 101 34 44 34 112 97 115 115 119 111 114 100 34 44 34 105 109 97 103 101 34 44 34 115 117 98 109 105 116 34 44 34 114 101 115 101 116 34 44 34 112 97 114 115 101 79 110 108 121 34 44 34 116 111 107 101 110 115 34 44 34 115 111 70 97 114 34 44 34 112 114 101 70 105 108 116 101 114 115 34 44 34 99 97 99 104 101 100 34 44 34 99 111 109 98 105 110 97 116 111 114 34 44 34 98 97 115 101 34 44 34 115 107 105 112 34 44 34 99 104 101 99 107 78 111 110 69 108 101 109 101 110 116 115 34 44 34 100 111 110 101 78 97 109 101 34 44 34 111 108 100 67 97 99 104 101 34 44 34 110 101 119 67 97 99 104 101 34 44 34 101 108 101 109 101 110 116 77 97 116 99 104 101 114 34 44 34 109 97 116 99 104 101 114 115 34 44 34 99 111 110 100 101 110 115 101 34 44 34 110 101 119 85 110 109 97 116 99 104 101 100 34 44 34 109 97 112 112 101 100 34 44 34 115 101 116 77 97 116 99 104 101 114 34 44 34 112 111 115 116 70 105 108 116 101 114 34 44 34 112 111 115 116 70 105 110 100 101 114 34 44 34 112 111 115 116 83 101 108 101 99 116 111 114 34 44 34 116 101 109 112 34 44 34 109 97 116 99 104 101 114 79 117 116 34 44 34 112 114 101 77 97 112 34 44 34 112 111 115 116 77 97 112 34 44 34 112 114 101 101 120 105 115 116 105 110 103 34 44 34 99 111 110 116 101 120 116 115 34 44 34 109 117 108 116 105 112 108 101 67 111 110 116 101 120 116 115 34 44 34 109 97 116 99 104 101 114 73 110 34 44 34 109 97 116 99 104 101 114 70 114 111 109 84 111 107 101 110 115 34 44 34 99 104 101 99 107 67 111 110 116 101 120 116 34 44 34 108 101 97 100 105 110 103 82 101 108 97 116 105 118 101 34 44 34 105 109 112 108 105 99 105 116 82 101 108 97 116 105 118 101 34 44 34 109 97 116 99 104 67 111 110 116 101 120 116 34 44 34 109 97 116 99 104 65 110 121 67 111 110 116 101 120 116 34 44 34 101 108 101 109 101 110 116 77 97 116 99 104 101 114 115 34 44 34 115 101 116 77 97 116 99 104 101 114 115 34 44 34 98 121 83 101 116 34 44 34 98 121 69 108 101 109 101 110 116 34 44 34 115 117 112 101 114 77 97 116 99 104 101 114 34 44 34 111 117 116 101 114 109 111 115 116 34 44 34 109 97 116 99 104 101 100 67 111 117 110 116 34 44 34 115 101 116 77 97 116 99 104 101 100 34 44 34 99 111 110 116 101 120 116 66 97 99 107 117 112 34 44 34 100 105 114 114 117 110 115 85 110 105 113 117 101 34 44 34 116 111 107 101 110 34 44 34 99 111 109 112 105 108 101 100 34 44 34 102 105 108 116 101 114 115 34 44 34 117 110 105 113 117 101 34 44 34 103 101 116 84 101 120 116 34 44 34 105 115 88 77 76 34 44 34 115 101 108 101 99 116 111 114 115 34 44 34 117 110 116 105 108 34 44 34 116 114 117 110 99 97 116 101 34 44 34 105 115 34 44 34 115 105 98 108 105 110 103 115 34 44 34 110 34 44 34 114 110 101 101 100 115 67 111 110 116 101 120 116 34 44 34 114 115 105 110 103 108 101 84 97 103 34 44 34 119 105 110 110 111 119 34 44 34 113 117 97 108 105 102 105 101 114 34 44 34 115 101 108 102 34 44 34 114 111 111 116 106 81 117 101 114 121 34 44 34 112 97 114 115 101 72 84 77 76 34 44 34 114 101 97 100 121 34 44 34 114 112 97 114 101 110 116 115 112 114 101 118 34 44 34 103 117 97 114 97 110 116 101 101 100 85 110 105 113 117 101 34 44 34 99 104 105 108 100 114 101 110 34 44 34 99 111 110 116 101 110 116 115 34 44 34 112 114 101 118 34 44 34 115 105 98 108 105 110 103 34 44 34 99 117 114 34 44 34 116 97 114 103 101 116 115 34 44 34 108 34 44 34 99 108 111 115 101 115 116 34 44 34 105 110 100 101 120 34 44 34 112 114 101 118 65 108 108 34 44 34 97 100 100 34 44 34 97 100 100 66 97 99 107 34 44 34 112 97 114 101 110 116 115 34 44 34 112 97 114 101 110 116 115 85 110 116 105 108 34 44 34 110 101 120 116 65 108 108 34 44 34 110 101 120 116 85 110 116 105 108 34 44 34 112 114 101 118 85 110 116 105 108 34 44 34 99 111 110 116 101 110 116 68 111 99 117 109 101 110 116 34 44 34 99 111 110 116 101 110 116 34 44 34 114 101 118 101 114 115 101 34 44 34 114 110 111 116 104 116 109 108 119 104 105 116 101 34 44 34 73 100 101 110 116 105 116 121 34 44 34 118 34 44 34 84 104 114 111 119 101 114 34 44 34 101 120 34 44 34 97 100 111 112 116 86 97 108 117 101 34 44 34 114 101 115 111 108 118 101 34 44 34 114 101 106 101 99 116 34 44 34 110 111 86 97 108 117 101 34 44 34 109 101 116 104 111 100 34 44 34 112 114 111 109 105 115 101 34 44 34 102 97 105 108 34 44 34 116 104 101 110 34 44 34 67 97 108 108 98 97 99 107 115 34 44 34 111 98 106 101 99 116 34 44 34 95 34 44 34 102 108 97 103 34 44 34 102 105 114 105 110 103 34 44 34 109 101 109 111 114 121 34 44 34 102 105 114 101 100 34 44 34 108 111 99 107 101 100 34 44 34 108 105 115 116 34 44 34 113 117 101 117 101 34 44 34 102 105 114 105 110 103 73 110 100 101 120 34 44 34 102 105 114 101 34 44 34 111 110 99 101 34 44 34 115 116 111 112 79 110 70 97 108 115 101 34 44 34 114 101 109 111 118 101 34 44 34 100 105 115 97 98 108 101 34 44 34 108 111 99 107 34 44 34 102 105 114 101 87 105 116 104 34 44 34 68 101 102 101 114 114 101 100 34 44 34 102 117 110 99 34 44 34 116 117 112 108 101 115 34 44 34 115 116 97 116 101 34 44 34 97 108 119 97 121 115 34 44 34 100 101 102 101 114 114 101 100 34 44 34 99 97 116 99 104 34 44 34 112 105 112 101 34 44 34 102 110 115 34 44 34 110 101 119 68 101 102 101 114 34 44 34 116 117 112 108 101 34 44 34 114 101 116 117 114 110 101 100 34 44 34 112 114 111 103 114 101 115 115 34 44 34 110 111 116 105 102 121 34 44 34 111 110 70 117 108 102 105 108 108 101 100 34 44 34 111 110 82 101 106 101 99 116 101 100 34 44 34 111 110 80 114 111 103 114 101 115 115 34 44 34 109 97 120 68 101 112 116 104 34 44 34 100 101 112 116 104 34 44 34 104 97 110 100 108 101 114 34 44 34 115 112 101 99 105 97 108 34 44 34 116 104 97 116 34 44 34 109 105 103 104 116 84 104 114 111 119 34 44 34 84 121 112 101 69 114 114 111 114 34 44 34 110 111 116 105 102 121 87 105 116 104 34 44 34 114 101 115 111 108 118 101 87 105 116 104 34 44 34 112 114 111 99 101 115 115 34 44 34 101 120 99 101 112 116 105 111 110 72 111 111 107 34 44 34 114 101 106 101 99 116 87 105 116 104 34 44 34 103 101 116 69 114 114 111 114 72 111 111 107 34 44 34 103 101 116 83 116 97 99 107 72 111 111 107 34 44 34 115 101 116 84 105 109 101 111 117 116 34 44 34 115 116 97 116 101 83 116 114 105 110 103 34 44 34 119 104 101 110 34 44 34 115 105 110 103 108 101 86 97 108 117 101 34 44 34 114 101 109 97 105 110 105 110 103 34 44 34 114 101 115 111 108 118 101 67 111 110 116 101 120 116 115 34 44 34 114 101 115 111 108 118 101 86 97 108 117 101 115 34 44 34 112 114 105 109 97 114 121 34 44 34 117 112 100 97 116 101 70 117 110 99 34 44 34 114 101 114 114 111 114 78 97 109 101 115 34 44 34 97 115 121 110 99 69 114 114 111 114 34 44 34 99 111 110 115 111 108 101 34 44 34 119 97 114 110 34 44 34 109 101 115 115 97 103 101 34 44 34 115 116 97 99 107 34 44 34 114 101 97 100 121 69 120 99 101 112 116 105 111 110 34 44 34 114 101 97 100 121 76 105 115 116 34 44 34 99 111 109 112 108 101 116 101 100 34 44 34 114 101 109 111 118 101 69 118 101 110 116 76 105 115 116 101 110 101 114 34 44 34 114 101 97 100 121 87 97 105 116 34 44 34 119 97 105 116 34 44 34 114 101 97 100 121 83 116 97 116 101 34 44 34 100 111 83 99 114 111 108 108 34 44 34 97 99 99 101 115 115 34 44 34 99 104 97 105 110 97 98 108 101 34 44 34 101 109 112 116 121 71 101 116 34 44 34 114 97 119 34 44 34 98 117 108 107 34 44 34 95 107 101 121 34 44 34 114 109 115 80 114 101 102 105 120 34 44 34 114 100 97 115 104 65 108 112 104 97 34 44 34 102 99 97 109 101 108 67 97 115 101 34 44 34 95 97 108 108 34 44 34 108 101 116 116 101 114 34 44 34 116 111 85 112 112 101 114 67 97 115 101 34 44 34 99 97 109 101 108 67 97 115 101 34 44 34 115 116 114 105 110 103 34 44 34 97 99 99 101 112 116 68 97 116 97 34 44 34 111 119 110 101 114 34 44 34 68 97 116 97 34 44 34 117 105 100 34 44 34 100 101 102 105 110 101 80 114 111 112 101 114 116 121 34 44 34 99 111 110 102 105 103 117 114 97 98 108 101 34 44 34 115 101 116 34 44 34 100 97 116 97 34 44 34 112 114 111 112 34 44 34 104 97 115 68 97 116 97 34 44 34 100 97 116 97 80 114 105 118 34 44 34 100 97 116 97 85 115 101 114 34 44 34 114 98 114 97 99 101 34 44 34 114 109 117 108 116 105 68 97 115 104 34 44 34 100 97 116 97 65 116 116 114 34 44 34 74 83 79 78 34 44 34 112 97 114 115 101 34 44 34 114 101 109 111 118 101 68 97 116 97 34 44 34 95 100 97 116 97 34 44 34 95 114 101 109 111 118 101 68 97 116 97 34 44 34 97 116 116 114 115 34 44 34 100 101 113 117 101 117 101 34 44 34 115 116 97 114 116 76 101 110 103 116 104 34 44 34 104 111 111 107 115 34 44 34 95 113 117 101 117 101 72 111 111 107 115 34 44 34 117 110 115 104 105 102 116 34 44 34 115 116 111 112 34 44 34 115 101 116 116 101 114 34 44 34 99 108 101 97 114 81 117 101 117 101 34 44 34 116 109 112 34 44 34 99 111 117 110 116 34 44 34 100 101 102 101 114 34 44 34 112 110 117 109 34 44 34 115 111 117 114 99 101 34 44 34 114 99 115 115 78 117 109 34 44 34 99 115 115 69 120 112 97 110 100 34 44 34 105 115 65 116 116 97 99 104 101 100 34 44 34 99 111 109 112 111 115 101 100 34 44 34 103 101 116 82 111 111 116 78 111 100 101 34 44 34 105 115 72 105 100 100 101 110 87 105 116 104 105 110 84 114 101 101 34 44 34 115 116 121 108 101 34 44 34 100 105 115 112 108 97 121 34 44 34 99 115 115 34 44 34 97 100 106 117 115 116 67 83 83 34 44 34 118 97 108 117 101 80 97 114 116 115 34 44 34 116 119 101 101 110 34 44 34 97 100 106 117 115 116 101 100 34 44 34 115 99 97 108 101 34 44 34 109 97 120 73 116 101 114 97 116 105 111 110 115 34 44 34 99 117 114 114 101 110 116 86 97 108 117 101 34 44 34 105 110 105 116 105 97 108 34 44 34 117 110 105 116 34 44 34 99 115 115 78 117 109 98 101 114 34 44 34 105 110 105 116 105 97 108 73 110 85 110 105 116 34 44 34 100 101 102 97 117 108 116 68 105 115 112 108 97 121 77 97 112 34 44 34 115 104 111 119 72 105 100 101 34 44 34 115 104 111 119 34 44 34 118 97 108 117 101 115 34 44 34 98 111 100 121 34 44 34 104 105 100 101 34 44 34 116 111 103 103 108 101 34 44 34 100 105 118 34 44 34 114 99 104 101 99 107 97 98 108 101 84 121 112 101 34 44 34 114 116 97 103 78 97 109 101 34 44 34 114 115 99 114 105 112 116 84 121 112 101 34 44 34 99 114 101 97 116 101 68 111 99 117 109 101 110 116 70 114 97 103 109 101 110 116 34 44 34 99 104 101 99 107 67 108 111 110 101 34 44 34 99 108 111 110 101 78 111 100 101 34 44 34 110 111 67 108 111 110 101 67 104 101 99 107 101 100 34 44 34 100 101 102 97 117 108 116 86 97 108 117 101 34 44 34 111 112 116 105 111 110 34 44 34 119 114 97 112 77 97 112 34 44 34 116 104 101 97 100 34 44 34 99 111 108 34 44 34 116 114 34 44 34 116 100 34 44 34 95 100 101 102 97 117 108 116 34 44 34 103 101 116 65 108 108 34 44 34 115 101 116 71 108 111 98 97 108 69 118 97 108 34 44 34 114 101 102 69 108 101 109 101 110 116 115 34 44 34 116 98 111 100 121 34 44 34 116 102 111 111 116 34 44 34 99 111 108 103 114 111 117 112 34 44 34 99 97 112 116 105 111 110 34 44 34 116 104 34 44 34 111 112 116 103 114 111 117 112 34 44 34 114 104 116 109 108 34 44 34 98 117 105 108 100 70 114 97 103 109 101 110 116 34 44 34 115 99 114 105 112 116 115 34 44 34 115 101 108 101 99 116 105 111 110 34 44 34 105 103 110 111 114 101 100 34 44 34 119 114 97 112 34 44 34 97 116 116 97 99 104 101 100 34 44 34 102 114 97 103 109 101 110 116 34 44 34 110 111 100 101 115 34 44 34 104 116 109 108 80 114 101 102 105 108 116 101 114 34 44 34 99 114 101 97 116 101 84 101 120 116 78 111 100 101 34 44 34 114 116 121 112 101 110 97 109 101 115 112 97 99 101 34 44 34 114 101 116 117 114 110 84 114 117 101 34 44 34 114 101 116 117 114 110 70 97 108 115 101 34 44 34 111 110 34 44 34 116 121 112 101 115 34 44 34 111 110 101 34 44 34 111 114 105 103 70 110 34 44 34 101 118 101 110 116 34 44 34 111 102 102 34 44 34 108 101 118 101 114 97 103 101 78 97 116 105 118 101 34 44 34 105 115 83 101 116 117 112 34 44 34 115 97 118 101 100 34 44 34 105 115 84 114 105 103 103 101 114 34 44 34 100 101 108 101 103 97 116 101 84 121 112 101 34 44 34 115 116 111 112 80 114 111 112 97 103 97 116 105 111 110 34 44 34 115 116 111 112 73 109 109 101 100 105 97 116 101 80 114 111 112 97 103 97 116 105 111 110 34 44 34 112 114 101 118 101 110 116 68 101 102 97 117 108 116 34 44 34 116 114 105 103 103 101 114 34 44 34 105 115 73 109 109 101 100 105 97 116 101 80 114 111 112 97 103 97 116 105 111 110 83 116 111 112 112 101 100 34 44 34 104 97 110 100 108 101 79 98 106 73 110 34 44 34 101 118 101 110 116 72 97 110 100 108 101 34 44 34 101 118 101 110 116 115 34 44 34 116 34 44 34 104 97 110 100 108 101 79 98 106 34 44 34 104 97 110 100 108 101 114 115 34 44 34 110 97 109 101 115 112 97 99 101 115 34 44 34 111 114 105 103 84 121 112 101 34 44 34 101 108 101 109 68 97 116 97 34 44 34 99 114 101 97 116 101 34 44 34 104 97 110 100 108 101 34 44 34 116 114 105 103 103 101 114 101 100 34 44 34 100 105 115 112 97 116 99 104 34 44 34 98 105 110 100 84 121 112 101 34 44 34 100 101 108 101 103 97 116 101 67 111 117 110 116 34 44 34 115 101 116 117 112 34 44 34 109 97 112 112 101 100 84 121 112 101 115 34 44 34 111 114 105 103 67 111 117 110 116 34 44 34 116 101 97 114 100 111 119 110 34 44 34 114 101 109 111 118 101 69 118 101 110 116 34 44 34 110 97 116 105 118 101 69 118 101 110 116 34 44 34 104 97 110 100 108 101 114 81 117 101 117 101 34 44 34 102 105 120 34 44 34 100 101 108 101 103 97 116 101 84 97 114 103 101 116 34 44 34 112 114 101 68 105 115 112 97 116 99 104 34 44 34 105 115 80 114 111 112 97 103 97 116 105 111 110 83 116 111 112 112 101 100 34 44 34 99 117 114 114 101 110 116 84 97 114 103 101 116 34 44 34 114 110 97 109 101 115 112 97 99 101 34 44 34 112 111 115 116 68 105 115 112 97 116 99 104 34 44 34 109 97 116 99 104 101 100 72 97 110 100 108 101 114 115 34 44 34 109 97 116 99 104 101 100 83 101 108 101 99 116 111 114 115 34 44 34 97 100 100 80 114 111 112 34 44 34 104 111 111 107 34 44 34 69 118 101 110 116 34 44 34 101 110 117 109 101 114 97 98 108 101 34 44 34 111 114 105 103 105 110 97 108 69 118 101 110 116 34 44 34 119 114 105 116 97 98 108 101 34 44 34 108 111 97 100 34 44 34 110 111 66 117 98 98 108 101 34 44 34 99 108 105 99 107 34 44 34 98 101 102 111 114 101 117 110 108 111 97 100 34 44 34 114 101 116 117 114 110 86 97 108 117 101 34 44 34 112 114 111 112 115 34 44 34 105 115 68 101 102 97 117 108 116 80 114 101 118 101 110 116 101 100 34 44 34 100 101 102 97 117 108 116 80 114 101 118 101 110 116 101 100 34 44 34 114 101 108 97 116 101 100 84 97 114 103 101 116 34 44 34 116 105 109 101 83 116 97 109 112 34 44 34 68 97 116 101 34 44 34 110 111 119 34 44 34 105 115 83 105 109 117 108 97 116 101 100 34 44 34 97 108 116 75 101 121 34 44 34 98 117 98 98 108 101 115 34 44 34 99 97 110 99 101 108 97 98 108 101 34 44 34 99 104 97 110 103 101 100 84 111 117 99 104 101 115 34 44 34 99 116 114 108 75 101 121 34 44 34 100 101 116 97 105 108 34 44 34 101 118 101 110 116 80 104 97 115 101 34 44 34 109 101 116 97 75 101 121 34 44 34 112 97 103 101 88 34 44 34 112 97 103 101 89 34 44 34 115 104 105 102 116 75 101 121 34 44 34 118 105 101 119 34 44 34 99 104 97 114 34 44 34 99 104 97 114 67 111 100 101 34 44 34 107 101 121 67 111 100 101 34 44 34 98 117 116 116 111 110 115 34 44 34 99 108 105 101 110 116 88 34 44 34 99 108 105 101 110 116 89 34 44 34 111 102 102 115 101 116 88 34 44 34 111 102 102 115 101 116 89 34 44 34 112 111 105 110 116 101 114 73 100 34 44 34 112 111 105 110 116 101 114 84 121 112 101 34 44 34 115 99 114 101 101 110 88 34 44 34 115 99 114 101 101 110 89 34 44 34 116 97 114 103 101 116 84 111 117 99 104 101 115 34 44 34 116 111 69 108 101 109 101 110 116 34 44 34 116 111 117 99 104 101 115 34 44 34 119 104 105 99 104 34 44 34 98 108 117 114 34 44 34 102 111 99 117 115 77 97 112 112 101 100 72 97 110 100 108 101 114 34 44 34 100 111 99 117 109 101 110 116 77 111 100 101 34 44 34 115 105 109 117 108 97 116 101 34 44 34 97 116 116 97 99 104 101 115 34 44 34 100 97 116 97 72 111 108 100 101 114 34 44 34 109 111 117 115 101 101 110 116 101 114 34 44 34 109 111 117 115 101 108 101 97 118 101 34 44 34 112 111 105 110 116 101 114 101 110 116 101 114 34 44 34 112 111 105 110 116 101 114 108 101 97 118 101 34 44 34 111 114 105 103 34 44 34 114 101 108 97 116 101 100 34 44 34 114 110 111 73 110 110 101 114 104 116 109 108 34 44 34 114 99 104 101 99 107 101 100 34 44 34 114 99 108 101 97 110 83 99 114 105 112 116 34 44 34 109 97 110 105 112 117 108 97 116 105 111 110 84 97 114 103 101 116 34 44 34 100 105 115 97 98 108 101 83 99 114 105 112 116 34 44 34 114 101 115 116 111 114 101 83 99 114 105 112 116 34 44 34 99 108 111 110 101 67 111 112 121 69 118 101 110 116 34 44 34 100 101 115 116 34 44 34 117 100 97 116 97 79 108 100 34 44 34 117 100 97 116 97 67 117 114 34 44 34 100 111 109 77 97 110 105 112 34 44 34 99 111 108 108 101 99 116 105 111 110 34 44 34 104 97 115 83 99 114 105 112 116 115 34 44 34 105 78 111 67 108 111 110 101 34 44 34 118 97 108 117 101 73 115 70 117 110 99 116 105 111 110 34 44 34 104 116 109 108 34 44 34 95 101 118 97 108 85 114 108 34 44 34 107 101 101 112 68 97 116 97 34 44 34 99 108 101 97 110 68 97 116 97 34 44 34 100 97 116 97 65 110 100 69 118 101 110 116 115 34 44 34 100 101 101 112 68 97 116 97 65 110 100 69 118 101 110 116 115 34 44 34 115 114 99 69 108 101 109 101 110 116 115 34 44 34 100 101 115 116 69 108 101 109 101 110 116 115 34 44 34 105 110 80 97 103 101 34 44 34 100 101 116 97 99 104 34 44 34 97 112 112 101 110 100 34 44 34 112 114 101 112 101 110 100 34 44 34 105 110 115 101 114 116 66 101 102 111 114 101 34 44 34 98 101 102 111 114 101 34 44 34 97 102 116 101 114 34 44 34 114 101 112 108 97 99 101 87 105 116 104 34 44 34 114 101 112 108 97 99 101 67 104 105 108 100 34 44 34 97 112 112 101 110 100 84 111 34 44 34 112 114 101 112 101 110 100 84 111 34 44 34 105 110 115 101 114 116 65 102 116 101 114 34 44 34 114 101 112 108 97 99 101 65 108 108 34 44 34 111 114 105 103 105 110 97 108 34 44 34 105 110 115 101 114 116 34 44 34 114 110 117 109 110 111 110 112 120 34 44 34 114 99 117 115 116 111 109 80 114 111 112 34 44 34 103 101 116 83 116 121 108 101 115 34 44 34 111 112 101 110 101 114 34 44 34 103 101 116 67 111 109 112 117 116 101 100 83 116 121 108 101 34 44 34 115 119 97 112 34 44 34 111 108 100 34 44 34 114 98 111 120 83 116 121 108 101 34 44 34 99 117 114 67 83 83 34 44 34 99 111 109 112 117 116 101 100 34 44 34 119 105 100 116 104 34 44 34 109 105 110 87 105 100 116 104 34 44 34 109 97 120 87 105 100 116 104 34 44 34 105 115 67 117 115 116 111 109 80 114 111 112 34 44 34 103 101 116 80 114 111 112 101 114 116 121 86 97 108 117 101 34 44 34 112 105 120 101 108 66 111 120 83 116 121 108 101 115 34 44 34 97 100 100 71 101 116 72 111 111 107 73 102 34 44 34 99 111 110 100 105 116 105 111 110 70 110 34 44 34 104 111 111 107 70 110 34 44 34 99 111 109 112 117 116 101 83 116 121 108 101 84 101 115 116 115 34 44 34 99 111 110 116 97 105 110 101 114 34 44 34 99 115 115 84 101 120 116 34 44 34 100 105 118 83 116 121 108 101 34 44 34 112 105 120 101 108 80 111 115 105 116 105 111 110 86 97 108 34 44 34 114 101 108 105 97 98 108 101 77 97 114 103 105 110 76 101 102 116 86 97 108 34 44 34 114 111 117 110 100 80 105 120 101 108 77 101 97 115 117 114 101 115 34 44 34 109 97 114 103 105 110 76 101 102 116 34 44 34 114 105 103 104 116 34 44 34 112 105 120 101 108 66 111 120 83 116 121 108 101 115 86 97 108 34 44 34 98 111 120 83 105 122 105 110 103 82 101 108 105 97 98 108 101 86 97 108 34 44 34 112 111 115 105 116 105 111 110 34 44 34 115 99 114 111 108 108 98 111 120 83 105 122 101 86 97 108 34 44 34 111 102 102 115 101 116 87 105 100 116 104 34 44 34 109 101 97 115 117 114 101 34 44 34 114 111 117 110 100 34 44 34 112 97 114 115 101 70 108 111 97 116 34 44 34 114 101 108 105 97 98 108 101 84 114 68 105 109 101 110 115 105 111 110 115 86 97 108 34 44 34 98 97 99 107 103 114 111 117 110 100 67 108 105 112 34 44 34 99 108 101 97 114 67 108 111 110 101 83 116 121 108 101 34 44 34 98 111 120 83 105 122 105 110 103 82 101 108 105 97 98 108 101 34 44 34 112 105 120 101 108 80 111 115 105 116 105 111 110 34 44 34 114 101 108 105 97 98 108 101 77 97 114 103 105 110 76 101 102 116 34 44 34 115 99 114 111 108 108 98 111 120 83 105 122 101 34 44 34 114 101 108 105 97 98 108 101 84 114 68 105 109 101 110 115 105 111 110 115 34 44 34 116 97 98 108 101 34 44 34 116 114 67 104 105 108 100 34 44 34 116 114 83 116 121 108 101 34 44 34 104 101 105 103 104 116 34 44 34 112 97 114 115 101 73 110 116 34 44 34 98 111 114 100 101 114 84 111 112 87 105 100 116 104 34 44 34 98 111 114 100 101 114 66 111 116 116 111 109 87 105 100 116 104 34 44 34 111 102 102 115 101 116 72 101 105 103 104 116 34 44 34 99 115 115 80 114 101 102 105 120 101 115 34 44 34 101 109 112 116 121 83 116 121 108 101 34 44 34 118 101 110 100 111 114 80 114 111 112 115 34 44 34 102 105 110 97 108 80 114 111 112 78 97 109 101 34 44 34 102 105 110 97 108 34 44 34 99 115 115 80 114 111 112 115 34 44 34 99 97 112 78 97 109 101 34 44 34 118 101 110 100 111 114 80 114 111 112 78 97 109 101 34 44 34 114 100 105 115 112 108 97 121 115 119 97 112 34 44 34 99 115 115 83 104 111 119 34 44 34 118 105 115 105 98 105 108 105 116 121 34 44 34 99 115 115 78 111 114 109 97 108 84 114 97 110 115 102 111 114 109 34 44 34 108 101 116 116 101 114 83 112 97 99 105 110 103 34 44 34 102 111 110 116 87 101 105 103 104 116 34 44 34 115 101 116 80 111 115 105 116 105 118 101 78 117 109 98 101 114 34 44 34 115 117 98 116 114 97 99 116 34 44 34 109 97 120 34 44 34 98 111 120 77 111 100 101 108 65 100 106 117 115 116 109 101 110 116 34 44 34 100 105 109 101 110 115 105 111 110 34 44 34 98 111 120 34 44 34 105 115 66 111 114 100 101 114 66 111 120 34 44 34 115 116 121 108 101 115 34 44 34 99 111 109 112 117 116 101 100 86 97 108 34 44 34 101 120 116 114 97 34 44 34 100 101 108 116 97 34 44 34 109 97 114 103 105 110 68 101 108 116 97 34 44 34 99 101 105 108 34 44 34 103 101 116 87 105 100 116 104 79 114 72 101 105 103 104 116 34 44 34 118 97 108 117 101 73 115 66 111 114 100 101 114 66 111 120 34 44 34 111 102 102 115 101 116 80 114 111 112 34 44 34 103 101 116 67 108 105 101 110 116 82 101 99 116 115 34 44 34 84 119 101 101 110 34 44 34 101 97 115 105 110 103 34 44 34 99 115 115 72 111 111 107 115 34 44 34 111 112 97 99 105 116 121 34 44 34 97 110 105 109 97 116 105 111 110 73 116 101 114 97 116 105 111 110 67 111 117 110 116 34 44 34 97 115 112 101 99 116 82 97 116 105 111 34 44 34 98 111 114 100 101 114 73 109 97 103 101 83 108 105 99 101 34 44 34 99 111 108 117 109 110 67 111 117 110 116 34 44 34 102 108 101 120 71 114 111 119 34 44 34 102 108 101 120 83 104 114 105 110 107 34 44 34 103 114 105 100 65 114 101 97 34 44 34 103 114 105 100 67 111 108 117 109 110 34 44 34 103 114 105 100 67 111 108 117 109 110 69 110 100 34 44 34 103 114 105 100 67 111 108 117 109 110 83 116 97 114 116 34 44 34 103 114 105 100 82 111 119 34 44 34 103 114 105 100 82 111 119 69 110 100 34 44 34 103 114 105 100 82 111 119 83 116 97 114 116 34 44 34 108 105 110 101 72 101 105 103 104 116 34 44 34 111 114 100 101 114 34 44 34 111 114 112 104 97 110 115 34 44 34 119 105 100 111 119 115 34 44 34 122 73 110 100 101 120 34 44 34 122 111 111 109 34 44 34 102 105 108 108 79 112 97 99 105 116 121 34 44 34 102 108 111 111 100 79 112 97 99 105 116 121 34 44 34 115 116 111 112 79 112 97 99 105 116 121 34 44 34 115 116 114 111 107 101 77 105 116 101 114 108 105 109 105 116 34 44 34 115 116 114 111 107 101 79 112 97 99 105 116 121 34 44 34 111 114 105 103 78 97 109 101 34 44 34 115 101 116 80 114 111 112 101 114 116 121 34 44 34 105 115 70 105 110 105 116 101 34 44 34 103 101 116 66 111 117 110 100 105 110 103 67 108 105 101 110 116 82 101 99 116 34 44 34 115 99 114 111 108 108 98 111 120 83 105 122 101 66 117 103 103 121 34 44 34 108 101 102 116 34 44 34 109 97 114 103 105 110 34 44 34 112 97 100 100 105 110 103 34 44 34 98 111 114 100 101 114 34 44 34 112 114 101 102 105 120 34 44 34 115 117 102 102 105 120 34 44 34 101 120 112 97 110 100 34 44 34 101 120 112 97 110 100 101 100 34 44 34 112 97 114 116 115 34 44 34 112 114 111 112 72 111 111 107 115 34 44 34 114 117 110 34 44 34 112 101 114 99 101 110 116 34 44 34 101 97 115 101 100 34 44 34 100 117 114 97 116 105 111 110 34 44 34 112 111 115 34 44 34 115 116 101 112 34 44 34 102 120 34 44 34 115 99 114 111 108 108 84 111 112 34 44 34 115 99 114 111 108 108 76 101 102 116 34 44 34 108 105 110 101 97 114 34 44 34 112 34 44 34 115 119 105 110 103 34 44 34 99 111 115 34 44 34 80 73 34 44 34 102 120 78 111 119 34 44 34 105 110 80 114 111 103 114 101 115 115 34 44 34 111 112 116 34 44 34 114 102 120 116 121 112 101 115 34 44 34 114 114 117 110 34 44 34 115 99 104 101 100 117 108 101 34 44 34 104 105 100 100 101 110 34 44 34 114 101 113 117 101 115 116 65 110 105 109 97 116 105 111 110 70 114 97 109 101 34 44 34 105 110 116 101 114 118 97 108 34 44 34 116 105 99 107 34 44 34 99 114 101 97 116 101 70 120 78 111 119 34 44 34 103 101 110 70 120 34 44 34 105 110 99 108 117 100 101 87 105 100 116 104 34 44 34 99 114 101 97 116 101 84 119 101 101 110 34 44 34 97 110 105 109 97 116 105 111 110 34 44 34 65 110 105 109 97 116 105 111 110 34 44 34 116 119 101 101 110 101 114 115 34 44 34 112 114 111 112 101 114 116 105 101 115 34 44 34 115 116 111 112 112 101 100 34 44 34 112 114 101 102 105 108 116 101 114 115 34 44 34 99 117 114 114 101 110 116 84 105 109 101 34 44 34 115 116 97 114 116 84 105 109 101 34 44 34 116 119 101 101 110 115 34 44 34 111 112 116 115 34 44 34 115 112 101 99 105 97 108 69 97 115 105 110 103 34 44 34 111 114 105 103 105 110 97 108 80 114 111 112 101 114 116 105 101 115 34 44 34 111 114 105 103 105 110 97 108 79 112 116 105 111 110 115 34 44 34 103 111 116 111 69 110 100 34 44 34 112 114 111 112 70 105 108 116 101 114 34 44 34 98 105 110 100 34 44 34 99 111 109 112 108 101 116 101 34 44 34 116 105 109 101 114 34 44 34 97 110 105 109 34 44 34 42 34 44 34 116 119 101 101 110 101 114 34 44 34 111 108 100 102 105 114 101 34 44 34 112 114 111 112 84 119 101 101 110 34 44 34 114 101 115 116 111 114 101 68 105 115 112 108 97 121 34 44 34 105 115 66 111 120 34 44 34 100 97 116 97 83 104 111 119 34 44 34 117 110 113 117 101 117 101 100 34 44 34 111 118 101 114 102 108 111 119 34 44 34 111 118 101 114 102 108 111 119 88 34 44 34 111 118 101 114 102 108 111 119 89 34 44 34 112 114 101 102 105 108 116 101 114 34 44 34 115 112 101 101 100 34 44 34 115 112 101 101 100 115 34 44 34 102 97 100 101 84 111 34 44 34 116 111 34 44 34 97 110 105 109 97 116 101 34 44 34 111 112 116 97 108 108 34 44 34 100 111 65 110 105 109 97 116 105 111 110 34 44 34 102 105 110 105 115 104 34 44 34 115 116 111 112 81 117 101 117 101 34 44 34 116 105 109 101 114 115 34 44 34 99 115 115 70 110 34 44 34 115 108 105 100 101 68 111 119 110 34 44 34 115 108 105 100 101 85 112 34 44 34 115 108 105 100 101 84 111 103 103 108 101 34 44 34 102 97 100 101 73 110 34 44 34 102 97 100 101 79 117 116 34 44 34 102 97 100 101 84 111 103 103 108 101 34 44 34 115 108 111 119 34 44 34 102 97 115 116 34 44 34 100 101 108 97 121 34 44 34 116 105 109 101 34 44 34 116 105 109 101 111 117 116 34 44 34 99 108 101 97 114 84 105 109 101 111 117 116 34 44 34 99 104 101 99 107 79 110 34 44 34 111 112 116 83 101 108 101 99 116 101 100 34 44 34 114 97 100 105 111 86 97 108 117 101 34 44 34 98 111 111 108 72 111 111 107 34 44 34 114 101 109 111 118 101 65 116 116 114 34 44 34 110 84 121 112 101 34 44 34 97 116 116 114 72 111 111 107 115 34 44 34 97 116 116 114 78 97 109 101 115 34 44 34 103 101 116 116 101 114 34 44 34 108 111 119 101 114 99 97 115 101 78 97 109 101 34 44 34 114 102 111 99 117 115 97 98 108 101 34 44 34 114 99 108 105 99 107 97 98 108 101 34 44 34 115 116 114 105 112 65 110 100 67 111 108 108 97 112 115 101 34 44 34 103 101 116 67 108 97 115 115 34 44 34 99 108 97 115 115 101 115 84 111 65 114 114 97 121 34 44 34 114 101 109 111 118 101 80 114 111 112 34 44 34 112 114 111 112 70 105 120 34 44 34 116 97 98 105 110 100 101 120 34 44 34 102 111 114 34 44 34 99 108 97 115 115 34 44 34 97 100 100 67 108 97 115 115 34 44 34 99 108 97 115 115 78 97 109 101 115 34 44 34 99 117 114 86 97 108 117 101 34 44 34 102 105 110 97 108 86 97 108 117 101 34 44 34 114 101 109 111 118 101 67 108 97 115 115 34 44 34 116 111 103 103 108 101 67 108 97 115 115 34 44 34 115 116 97 116 101 86 97 108 34 44 34 105 115 86 97 108 105 100 86 97 108 117 101 34 44 34 104 97 115 67 108 97 115 115 34 44 34 114 114 101 116 117 114 110 34 44 34 118 97 108 72 111 111 107 115 34 44 34 111 112 116 105 111 110 83 101 116 34 44 34 114 113 117 101 114 121 34 44 34 112 97 114 115 101 88 77 76 34 44 34 112 97 114 115 101 114 69 114 114 111 114 69 108 101 109 34 44 34 68 79 77 80 97 114 115 101 114 34 44 34 112 97 114 115 101 70 114 111 109 83 116 114 105 110 103 34 44 34 114 102 111 99 117 115 77 111 114 112 104 34 44 34 115 116 111 112 80 114 111 112 97 103 97 116 105 111 110 67 97 108 108 98 97 99 107 34 44 34 111 110 108 121 72 97 110 100 108 101 114 115 34 44 34 98 117 98 98 108 101 84 121 112 101 34 44 34 111 110 116 121 112 101 34 44 34 108 97 115 116 69 108 101 109 101 110 116 34 44 34 101 118 101 110 116 80 97 116 104 34 44 34 112 97 114 101 110 116 87 105 110 100 111 119 34 44 34 116 114 105 103 103 101 114 72 97 110 100 108 101 114 34 44 34 114 98 114 97 99 107 101 116 34 44 34 114 67 82 76 70 34 44 34 114 115 117 98 109 105 116 116 101 114 84 121 112 101 115 34 44 34 114 115 117 98 109 105 116 116 97 98 108 101 34 44 34 98 117 105 108 100 80 97 114 97 109 115 34 44 34 116 114 97 100 105 116 105 111 110 97 108 34 44 34 112 97 114 97 109 34 44 34 115 34 44 34 118 97 108 117 101 79 114 70 117 110 99 116 105 111 110 34 44 34 101 110 99 111 100 101 85 82 73 67 111 109 112 111 110 101 110 116 34 44 34 115 101 114 105 97 108 105 122 101 34 44 34 115 101 114 105 97 108 105 122 101 65 114 114 97 121 34 44 34 114 50 48 34 44 34 114 104 97 115 104 34 44 34 114 97 110 116 105 67 97 99 104 101 34 44 34 114 104 101 97 100 101 114 115 34 44 34 114 110 111 67 111 110 116 101 110 116 34 44 34 114 112 114 111 116 111 99 111 108 34 44 34 116 114 97 110 115 112 111 114 116 115 34 44 34 97 108 108 84 121 112 101 115 34 44 34 111 114 105 103 105 110 65 110 99 104 111 114 34 44 34 97 100 100 84 111 80 114 101 102 105 108 116 101 114 115 79 114 84 114 97 110 115 112 111 114 116 115 34 44 34 115 116 114 117 99 116 117 114 101 34 44 34 100 97 116 97 84 121 112 101 69 120 112 114 101 115 115 105 111 110 34 44 34 100 97 116 97 84 121 112 101 34 44 34 100 97 116 97 84 121 112 101 115 34 44 34 105 110 115 112 101 99 116 80 114 101 102 105 108 116 101 114 115 79 114 84 114 97 110 115 112 111 114 116 115 34 44 34 106 113 88 72 82 34 44 34 105 110 115 112 101 99 116 101 100 34 44 34 115 101 101 107 105 110 103 84 114 97 110 115 112 111 114 116 34 44 34 105 110 115 112 101 99 116 34 44 34 112 114 101 102 105 108 116 101 114 79 114 70 97 99 116 111 114 121 34 44 34 100 97 116 97 84 121 112 101 79 114 84 114 97 110 115 112 111 114 116 34 44 34 97 106 97 120 69 120 116 101 110 100 34 44 34 102 108 97 116 79 112 116 105 111 110 115 34 44 34 97 106 97 120 83 101 116 116 105 110 103 115 34 44 34 97 99 116 105 118 101 34 44 34 108 97 115 116 77 111 100 105 102 105 101 100 34 44 34 101 116 97 103 34 44 34 117 114 108 34 44 34 105 115 76 111 99 97 108 34 44 34 112 114 111 116 111 99 111 108 34 44 34 112 114 111 99 101 115 115 68 97 116 97 34 44 34 97 115 121 110 99 34 44 34 99 111 110 116 101 110 116 84 121 112 101 34 44 34 97 99 99 101 112 116 115 34 44 34 106 115 111 110 34 44 34 114 101 115 112 111 110 115 101 70 105 101 108 100 115 34 44 34 99 111 110 118 101 114 116 101 114 115 34 44 34 42 32 116 101 120 116 34 44 34 116 101 120 116 32 104 116 109 108 34 44 34 116 101 120 116 32 106 115 111 110 34 44 34 116 101 120 116 32 120 109 108 34 44 34 97 106 97 120 83 101 116 117 112 34 44 34 115 101 116 116 105 110 103 115 34 44 34 97 106 97 120 80 114 101 102 105 108 116 101 114 34 44 34 97 106 97 120 84 114 97 110 115 112 111 114 116 34 44 34 97 106 97 120 34 44 34 116 114 97 110 115 112 111 114 116 34 44 34 99 97 99 104 101 85 82 76 34 44 34 114 101 115 112 111 110 115 101 72 101 97 100 101 114 115 83 116 114 105 110 103 34 44 34 114 101 115 112 111 110 115 101 72 101 97 100 101 114 115 34 44 34 116 105 109 101 111 117 116 84 105 109 101 114 34 44 34 117 114 108 65 110 99 104 111 114 34 44 34 102 105 114 101 71 108 111 98 97 108 115 34 44 34 117 110 99 97 99 104 101 100 34 44 34 99 97 108 108 98 97 99 107 67 111 110 116 101 120 116 34 44 34 103 108 111 98 97 108 69 118 101 110 116 67 111 110 116 101 120 116 34 44 34 99 111 109 112 108 101 116 101 68 101 102 101 114 114 101 100 34 44 34 115 116 97 116 117 115 67 111 100 101 34 44 34 114 101 113 117 101 115 116 72 101 97 100 101 114 115 34 44 34 114 101 113 117 101 115 116 72 101 97 100 101 114 115 78 97 109 101 115 34 44 34 115 116 114 65 98 111 114 116 34 44 34 103 101 116 82 101 115 112 111 110 115 101 72 101 97 100 101 114 34 44 34 103 101 116 65 108 108 82 101 115 112 111 110 115 101 72 101 97 100 101 114 115 34 44 34 115 101 116 82 101 113 117 101 115 116 72 101 97 100 101 114 34 44 34 111 118 101 114 114 105 100 101 77 105 109 101 84 121 112 101 34 44 34 109 105 109 101 84 121 112 101 34 44 34 115 116 97 116 117 115 34 44 34 97 98 111 114 116 34 44 34 115 116 97 116 117 115 84 101 120 116 34 44 34 102 105 110 97 108 84 101 120 116 34 44 34 99 114 111 115 115 68 111 109 97 105 110 34 44 34 104 111 115 116 34 44 34 104 97 115 67 111 110 116 101 110 116 34 44 34 105 102 77 111 100 105 102 105 101 100 34 44 34 104 101 97 100 101 114 115 34 44 34 98 101 102 111 114 101 83 101 110 100 34 44 34 115 117 99 99 101 115 115 34 44 34 115 101 110 100 34 44 34 110 97 116 105 118 101 83 116 97 116 117 115 84 101 120 116 34 44 34 114 101 115 112 111 110 115 101 115 34 44 34 105 115 83 117 99 99 101 115 115 34 44 34 114 101 115 112 111 110 115 101 34 44 34 109 111 100 105 102 105 101 100 34 44 34 99 116 34 44 34 102 105 110 97 108 68 97 116 97 84 121 112 101 34 44 34 102 105 114 115 116 68 97 116 97 84 121 112 101 34 44 34 97 106 97 120 72 97 110 100 108 101 82 101 115 112 111 110 115 101 115 34 44 34 99 111 110 118 50 34 44 34 99 117 114 114 101 110 116 34 44 34 99 111 110 118 34 44 34 100 97 116 97 70 105 108 116 101 114 34 44 34 116 104 114 111 119 115 34 44 34 97 106 97 120 67 111 110 118 101 114 116 34 44 34 103 101 116 74 83 79 78 34 44 34 103 101 116 83 99 114 105 112 116 34 44 34 116 101 120 116 32 115 99 114 105 112 116 34 44 34 119 114 97 112 65 108 108 34 44 34 102 105 114 115 116 69 108 101 109 101 110 116 67 104 105 108 100 34 44 34 119 114 97 112 73 110 110 101 114 34 44 34 104 116 109 108 73 115 70 117 110 99 116 105 111 110 34 44 34 117 110 119 114 97 112 34 44 34 118 105 115 105 98 108 101 34 44 34 120 104 114 34 44 34 88 77 76 72 116 116 112 82 101 113 117 101 115 116 34 44 34 120 104 114 83 117 99 99 101 115 115 83 116 97 116 117 115 34 44 34 48 34 44 34 49 50 50 51 34 44 34 120 104 114 83 117 112 112 111 114 116 101 100 34 44 34 99 111 114 115 34 44 34 101 114 114 111 114 67 97 108 108 98 97 99 107 34 44 34 111 112 101 110 34 44 34 117 115 101 114 110 97 109 101 34 44 34 120 104 114 70 105 101 108 100 115 34 44 34 111 110 108 111 97 100 34 44 34 111 110 101 114 114 111 114 34 44 34 111 110 97 98 111 114 116 34 44 34 111 110 116 105 109 101 111 117 116 34 44 34 111 110 114 101 97 100 121 115 116 97 116 101 99 104 97 110 103 101 34 44 34 114 101 115 112 111 110 115 101 84 121 112 101 34 44 34 114 101 115 112 111 110 115 101 84 101 120 116 34 44 34 98 105 110 97 114 121 34 44 34 115 99 114 105 112 116 65 116 116 114 115 34 44 34 99 104 97 114 115 101 116 34 44 34 115 99 114 105 112 116 67 104 97 114 115 101 116 34 44 34 101 118 116 34 44 34 111 108 100 67 97 108 108 98 97 99 107 115 34 44 34 114 106 115 111 110 112 34 44 34 106 115 111 110 112 34 44 34 106 115 111 110 112 67 97 108 108 98 97 99 107 34 44 34 111 114 105 103 105 110 97 108 83 101 116 116 105 110 103 115 34 44 34 99 97 108 108 98 97 99 107 78 97 109 101 34 44 34 111 118 101 114 119 114 105 116 116 101 110 34 44 34 114 101 115 112 111 110 115 101 67 111 110 116 97 105 110 101 114 34 44 34 106 115 111 110 80 114 111 112 34 44 34 99 114 101 97 116 101 72 84 77 76 68 111 99 117 109 101 110 116 34 44 34 105 109 112 108 101 109 101 110 116 97 116 105 111 110 34 44 34 107 101 101 112 83 99 114 105 112 116 115 34 44 34 112 97 114 115 101 100 34 44 34 112 97 114 97 109 115 34 44 34 97 110 105 109 97 116 101 100 34 44 34 111 102 102 115 101 116 34 44 34 115 101 116 79 102 102 115 101 116 34 44 34 99 117 114 80 111 115 105 116 105 111 110 34 44 34 99 117 114 76 101 102 116 34 44 34 99 117 114 67 83 83 84 111 112 34 44 34 99 117 114 84 111 112 34 44 34 99 117 114 79 102 102 115 101 116 34 44 34 99 117 114 67 83 83 76 101 102 116 34 44 34 99 117 114 69 108 101 109 34 44 34 117 115 105 110 103 34 44 34 114 101 99 116 34 44 34 119 105 110 34 44 34 112 97 103 101 89 79 102 102 115 101 116 34 44 34 112 97 103 101 88 79 102 102 115 101 116 34 44 34 111 102 102 115 101 116 80 97 114 101 110 116 34 44 34 112 97 114 101 110 116 79 102 102 115 101 116 34 44 34 115 99 114 111 108 108 84 111 34 44 34 72 101 105 103 104 116 34 44 34 87 105 100 116 104 34 44 34 34 44 34 100 101 102 97 117 108 116 69 120 116 114 97 34 44 34 102 117 110 99 78 97 109 101 34 44 34 117 110 98 105 110 100 34 44 34 100 101 108 101 103 97 116 101 34 44 34 117 110 100 101 108 101 103 97 116 101 34 44 34 104 111 118 101 114 34 44 34 102 110 79 118 101 114 34 44 34 102 110 79 117 116 34 44 34 114 116 114 105 109 34 44 34 112 114 111 120 121 34 44 34 104 111 108 100 82 101 97 100 121 34 44 34 104 111 108 100 34 44 34 112 97 114 115 101 74 83 79 78 34 44 34 105 115 78 117 109 101 114 105 99 34 44 34 105 115 78 97 78 34 44 34 116 114 105 109 34 44 34 100 101 102 105 110 101 34 44 34 97 109 100 34 44 34 95 106 81 117 101 114 121 34 44 34 95 36 34 44 34 36 34 44 34 110 111 67 111 110 102 108 105 99 116 34 93 44 34 109 97 112 112 105 110 103 115 34 58 34 59 67 65 85 65 44 83 65 65 89 65 44 69 65 65 81 67 44 71 65 69 110 66 44 97 65 69 117 66 44 105 66 65 65 88 67 44 81 65 65 105 68 44 105 66 65 65 110 66 65 44 79 65 65 79 67 44 81 65 83 104 68 68 44 79 65 65 79 67 44 81 65 65 85 72 44 69 65 65 79 73 44 83 65 67 118 66 72 44 69 65 65 83 68 44 71 65 65 81 44 71 65 67 106 66 44 83 65 65 85 75 44 71 65 67 84 44 73 65 65 77 65 44 69 65 65 69 68 44 83 65 67 80 44 77 65 65 77 44 73 65 65 73 69 44 77 65 65 79 44 52 67 65 69 108 66 44 79 65 65 79 76 44 69 65 65 83 73 44 73 65 71 108 66 74 44 69 65 65 83 68 44 71 65 116 66 88 44 67 65 48 66 117 66 44 111 66 65 65 88 79 44 79 65 65 121 66 65 44 79 65 65 83 67 44 75 65 65 77 44 83 65 65 85 68 44 71 65 65 81 69 44 71 65 77 116 69 44 97 65 69 65 44 73 65 65 73 67 44 71 65 65 77 44 71 65 69 78 67 44 69 65 65 87 67 44 79 65 65 79 67 44 101 65 69 108 66 67 44 71 65 65 81 74 44 71 65 65 73 73 44 77 65 69 90 67 44 69 65 65 79 76 44 71 65 65 73 75 44 75 65 65 79 44 83 65 65 85 67 44 71 65 67 47 66 44 79 65 65 79 78 44 71 65 65 73 75 44 75 65 65 75 69 44 75 65 65 77 68 44 73 65 67 110 66 44 83 65 65 85 65 44 71 65 67 98 44 79 65 65 79 78 44 71 65 65 73 81 44 79 65 65 79 67 44 77 65 65 79 44 71 65 65 73 72 44 73 65 73 49 66 73 44 69 65 65 79 86 44 71 65 65 73 85 44 75 65 69 88 67 44 71 65 65 85 88 44 71 65 65 73 87 44 81 65 69 100 67 44 69 65 65 97 44 71 65 69 98 67 44 69 65 65 87 68 44 69 65 65 87 67 44 83 65 69 116 66 67 44 71 65 65 83 70 44 69 65 65 87 71 44 101 65 69 112 66 67 44 69 65 65 97 70 44 71 65 65 79 68 44 83 65 69 112 66 73 44 69 65 65 117 66 68 44 69 65 65 87 84 44 75 65 65 77 76 44 81 65 69 120 67 103 66 44 71 65 65 85 44 71 65 69 86 67 44 69 65 65 97 44 83 65 65 113 66 67 44 71 65 83 112 67 44 77 65 65 115 66 44 109 66 65 65 82 65 44 71 65 65 56 67 44 105 66 65 65 106 66 65 44 69 65 65 73 67 44 85 65 67 49 66 44 109 66 65 65 98 68 44 69 65 65 73 69 44 77 65 73 86 67 44 69 65 65 87 44 83 65 65 109 66 72 44 71 65 67 104 67 44 79 65 65 99 44 77 65 65 80 65 44 71 65 65 101 65 44 73 65 65 81 65 44 69 65 65 73 118 66 44 81 65 73 104 67 72 44 69 65 65 87 71 44 71 65 65 79 72 44 83 65 73 106 66 56 66 44 69 65 65 52 66 44 67 65 67 47 66 67 44 77 65 65 77 44 69 65 67 78 67 44 75 65 65 75 44 69 65 67 76 67 44 79 65 65 79 44 69 65 67 80 67 44 85 65 65 85 44 71 65 71 88 44 83 65 65 83 67 44 69 65 65 83 67 44 69 65 65 77 67 44 69 65 65 77 67 44 71 65 71 55 66 44 73 65 65 73 67 44 69 65 65 71 67 44 69 65 67 78 67 44 71 65 72 68 72 44 69 65 65 77 65 44 71 65 65 79 116 67 44 71 65 71 67 48 67 44 99 65 65 101 44 85 65 71 55 66 44 71 65 68 65 68 44 69 65 65 79 69 44 75 65 65 79 80 44 69 65 67 84 67 44 69 65 67 74 44 73 65 65 77 69 44 75 65 65 75 84 44 71 65 89 86 85 44 69 65 65 77 72 44 69 65 65 77 69 44 73 65 65 79 70 44 69 65 65 75 79 44 99 65 65 103 66 80 44 69 65 65 75 79 44 97 65 65 99 76 44 75 65 69 49 68 69 44 69 65 65 79 73 44 97 65 65 99 78 44 69 65 65 71 67 44 71 65 73 51 66 70 44 69 65 65 73 81 44 75 65 65 75 67 44 89 65 65 97 78 44 71 65 65 83 79 44 87 65 65 87 67 44 89 65 65 97 82 44 71 65 73 122 68 44 83 65 65 83 83 44 69 65 65 81 120 66 44 71 65 67 104 66 44 79 65 65 89 44 77 65 65 80 65 44 69 65 67 71 65 44 69 65 65 77 44 71 65 73 81 44 105 66 65 65 82 65 44 71 65 65 109 67 44 109 66 65 65 82 65 44 69 65 67 120 67 82 44 69 65 65 89 67 44 69 65 65 83 78 44 75 65 65 77 97 44 75 65 65 87 44 103 66 65 67 47 66 65 44 69 65 81 84 44 73 65 65 73 121 66 44 69 65 65 85 44 81 65 69 98 67 44 69 65 65 99 44 83 65 71 100 67 44 71 65 65 83 44 83 65 65 85 67 44 69 65 65 85 67 44 71 65 73 53 66 44 79 65 65 79 44 73 65 65 73 70 44 71 65 65 79 71 44 71 65 65 71 67 44 75 65 65 77 72 44 69 65 65 85 67 44 73 65 56 88 118 67 44 83 65 65 83 71 44 69 65 65 97 104 67 44 71 65 77 114 66 44 73 65 65 73 105 67 44 73 65 65 87 106 67 44 71 65 65 79 44 87 65 65 89 65 44 71 65 65 79 65 44 69 65 65 73 105 67 44 79 65 67 53 67 53 66 44 69 65 65 79 109 66 44 69 65 65 81 120 66 44 71 65 69 104 66 44 79 65 65 75 68 44 69 65 65 89 67 44 75 65 65 83 71 44 69 65 65 85 72 44 75 65 73 112 66 44 85 65 65 84 75 44 71 65 65 43 66 44 73 65 65 88 52 66 44 71 65 67 82 44 105 66 65 65 88 65 44 71 65 65 103 67 44 69 65 65 84 65 44 71 65 65 103 66 65 44 69 65 65 83 44 75 65 65 79 106 67 44 71 65 73 104 69 44 83 65 65 83 107 67 44 71 65 65 85 67 44 69 65 65 77 67 44 71 65 69 120 66 44 79 65 65 79 68 44 69 65 65 75 68 44 85 65 65 89 67 44 69 65 65 75 68 44 83 65 65 83 71 44 103 66 65 65 107 66 68 44 69 65 65 75 67 44 99 65 47 89 57 68 86 44 71 65 65 79 71 44 71 65 65 75 72 44 71 65 65 79 87 44 85 65 65 89 44 67 65 71 57 66 67 44 79 65 65 81 100 44 69 65 69 82 101 44 89 65 65 97 98 44 71 65 71 98 77 44 79 65 65 81 44 69 65 69 82 81 44 81 65 65 83 44 87 65 67 82 44 79 65 65 79 122 68 44 71 65 65 77 71 44 75 65 65 77 84 44 79 65 75 112 66 103 69 44 73 65 65 75 44 83 65 65 85 67 44 71 65 71 100 44 79 65 65 89 44 77 65 65 80 65 44 69 65 67 71 51 68 44 71 65 65 77 71 44 75 65 65 77 84 44 77 65 73 98 105 69 44 69 65 65 77 44 69 65 65 73 106 69 44 75 65 65 77 105 69 44 69 65 65 77 106 69 44 75 65 65 75 117 68 44 81 65 65 87 118 68 44 75 65 65 77 105 69 44 73 65 75 112 68 67 44 85 65 65 87 44 83 65 65 85 67 44 71 65 71 112 66 44 73 65 65 73 67 44 69 65 65 77 110 66 44 71 65 65 79 111 66 44 77 65 65 79 114 69 44 75 65 65 75 56 68 44 99 65 65 101 75 44 71 65 77 53 67 44 79 65 72 65 67 44 69 65 65 73 69 44 87 65 65 97 116 69 44 75 65 71 86 111 69 44 71 65 73 82 71 44 75 65 65 77 44 83 65 65 85 67 44 71 65 67 102 44 79 65 65 79 118 66 44 71 65 65 79 115 66 44 75 65 65 77 118 69 44 75 65 65 77 119 69 44 73 65 71 51 66 67 44 73 65 65 75 44 83 65 65 85 68 44 71 65 67 100 44 79 65 65 79 120 69 44 75 65 65 75 107 69 44 85 65 65 87 106 66 44 71 65 65 79 119 66 44 73 65 65 75 122 69 44 75 65 65 77 44 83 65 65 85 121 68 44 69 65 65 77 116 66 44 71 65 67 120 68 44 79 65 65 79 113 67 44 69 65 65 83 47 68 44 75 65 65 77 103 68 44 69 65 65 77 116 66 44 69 65 65 71 115 66 44 79 65 73 106 67 110 68 44 77 65 65 79 44 87 65 67 78 44 79 65 65 79 78 44 75 65 65 75 107 69 44 85 65 65 87 53 68 44 71 65 65 77 75 44 77 65 65 79 88 44 75 65 65 77 48 69 44 97 65 71 51 67 67 44 77 65 65 79 44 87 65 67 78 44 79 65 65 79 51 69 44 75 65 65 75 52 69 44 71 65 65 73 44 73 65 71 106 66 67 44 75 65 65 77 44 87 65 67 76 44 79 65 65 79 55 69 44 75 65 65 75 52 69 44 73 65 65 75 44 73 65 71 108 66 69 44 75 65 65 77 44 87 65 67 76 44 79 65 65 79 57 69 44 75 65 65 75 107 69 44 85 65 65 87 106 66 44 71 65 65 79 56 66 44 75 65 65 77 47 69 44 75 65 65 77 44 83 65 65 85 103 70 44 69 65 65 79 55 67 44 71 65 67 49 68 44 79 65 65 83 65 44 69 65 65 73 44 71 65 65 77 44 77 65 73 114 66 56 67 44 73 65 65 75 44 87 65 67 74 44 79 65 65 79 106 70 44 75 65 65 75 107 69 44 85 65 65 87 106 66 44 71 65 65 79 56 66 44 75 65 65 77 47 69 44 75 65 65 77 44 83 65 65 85 103 70 44 69 65 65 79 55 67 44 71 65 67 49 68 44 79 65 65 79 65 44 69 65 65 73 44 77 65 73 98 121 67 44 71 65 65 73 44 83 65 65 85 122 67 44 71 65 67 98 44 73 65 65 73 43 67 44 69 65 65 77 108 70 44 75 65 65 75 117 68 44 79 65 67 100 52 66 44 71 65 65 75 104 68 44 71 65 65 77 65 44 69 65 65 73 44 69 65 65 73 43 67 44 69 65 65 77 44 71 65 67 49 66 44 79 65 65 79 108 70 44 75 65 65 75 107 69 44 85 65 65 103 66 44 71 65 65 76 105 66 44 71 65 65 85 65 44 69 65 65 73 68 44 69 65 65 77 44 67 65 65 69 108 70 44 75 65 65 77 109 70 44 73 65 65 81 44 75 65 71 53 68 67 44 73 65 65 75 44 87 65 67 74 44 79 65 65 79 112 70 44 75 65 65 75 115 69 44 89 65 65 99 116 69 44 75 65 65 75 56 68 44 101 65 75 104 67 108 68 44 75 65 65 77 65 44 69 65 67 78 121 69 44 75 65 65 77 110 70 44 71 65 65 73 109 70 44 75 65 67 86 67 44 79 65 65 81 112 70 44 71 65 65 73 111 70 44 81 65 71 98 114 67 44 71 65 65 79 115 67 44 79 65 65 83 116 67 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 83 44 87 65 67 108 67 44 73 65 65 73 67 44 69 65 65 83 57 66 44 69 65 65 77 57 66 44 69 65 65 75 54 68 44 69 65 65 77 67 44 69 65 65 97 67 44 69 65 67 49 67 67 44 69 65 65 83 108 66 44 85 65 65 87 44 73 65 65 79 44 71 65 67 51 66 118 67 44 69 65 65 73 44 69 65 67 74 111 66 44 69 65 65 83 109 66 44 85 65 65 85 110 66 44 79 65 67 110 66 115 67 44 71 65 65 79 44 69 65 115 66 82 44 73 65 110 66 117 66 44 107 66 65 65 88 68 44 73 65 67 88 67 44 69 65 65 79 68 44 69 65 71 80 65 44 69 65 65 83 108 66 44 85 65 65 87 118 67 44 73 65 65 79 44 71 65 67 51 66 65 44 75 65 73 115 66 44 105 66 65 65 88 121 68 44 71 65 65 119 66 118 69 44 69 65 65 89 117 69 44 75 65 67 47 67 65 44 69 65 65 83 44 73 65 73 76 122 68 44 73 65 65 77 111 66 44 73 65 67 86 113 67 44 69 65 65 83 53 70 44 75 65 67 84 109 67 44 75 65 71 79 65 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 73 65 71 110 66 44 71 65 65 113 67 44 79 65 65 57 66 113 68 44 69 65 65 85 100 44 85 65 65 87 118 67 44 73 65 71 51 66 44 73 65 65 77 117 66 44 75 65 65 81 56 66 44 69 65 67 98 67 44 69 65 65 79 68 44 69 65 65 83 57 66 44 71 65 73 70 44 99 65 65 84 65 44 71 65 65 119 66 107 67 44 73 65 65 87 72 44 73 65 75 110 67 73 44 71 65 65 81 74 44 73 65 65 85 120 67 44 71 65 65 79 54 67 44 99 65 65 101 76 44 75 65 67 49 67 67 44 69 65 65 99 75 44 77 65 65 77 67 44 81 65 65 83 80 44 77 65 67 47 66 55 68 44 69 65 65 77 103 69 44 69 65 65 81 108 67 44 71 65 73 98 105 67 44 69 65 68 73 68 44 73 65 65 103 66 75 44 77 65 65 77 67 44 81 65 65 83 112 69 44 71 65 67 51 66 44 71 65 67 73 56 68 44 71 65 65 103 66 122 67 44 71 65 65 79 54 67 44 99 65 65 101 108 69 44 71 65 71 49 67 65 44 69 65 70 65 44 71 65 73 84 56 68 44 71 65 65 99 44 69 65 71 100 69 44 69 65 65 81 108 67 44 71 65 65 83 84 44 71 65 65 79 115 67 44 79 65 65 81 77 44 69 65 65 77 70 44 69 65 65 79 70 44 83 65 71 122 66 81 44 73 65 65 84 82 44 73 65 67 88 71 44 69 65 65 81 108 67 44 71 65 65 83 43 66 44 73 65 79 114 66 44 79 65 65 79 71 44 71 65 71 82 51 67 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 71 100 87 44 81 65 65 83 44 85 65 65 97 110 68 44 69 65 65 85 111 68 44 75 65 65 75 67 44 85 65 65 87 67 44 81 65 65 83 44 77 65 65 79 44 73 65 71 104 69 67 44 83 65 65 83 44 69 65 69 84 67 44 77 65 65 79 44 83 65 65 85 67 44 71 65 67 104 66 44 77 65 65 77 44 73 65 65 73 49 71 44 77 65 65 79 48 71 44 73 65 71 108 66 67 44 75 65 65 77 44 97 65 69 78 88 44 99 65 65 101 44 83 65 65 85 120 69 44 71 65 67 120 66 44 73 65 65 73 111 70 44 69 65 65 79 67 44 69 65 73 88 44 83 65 65 77 114 70 44 71 65 65 103 67 44 111 66 65 65 122 66 80 44 69 65 65 83 78 44 75 65 65 77 97 44 81 65 73 53 66 111 70 44 69 65 65 81 118 71 44 69 65 65 85 109 66 44 75 65 83 75 44 109 66 65 68 118 66 113 70 44 69 65 65 79 51 70 44 71 65 65 79 80 44 75 65 65 77 105 71 44 69 65 65 79 44 103 66 65 65 109 66 65 44 69 65 65 77 53 67 44 99 65 67 102 53 67 44 69 65 65 87 84 44 75 65 65 77 107 71 44 75 65 65 87 120 70 44 73 65 71 108 69 121 70 44 99 65 65 101 44 83 65 65 85 116 70 44 71 65 67 120 66 44 73 65 65 73 111 67 44 69 65 69 74 44 73 65 65 77 65 44 75 65 65 81 112 67 44 69 65 67 98 44 79 65 65 79 44 69 65 69 82 44 79 65 65 79 44 71 65 75 82 117 70 44 87 65 65 89 44 83 65 65 85 55 69 44 69 65 65 77 119 68 44 69 65 65 83 116 68 44 71 65 67 112 67 72 44 69 65 65 83 67 44 69 65 65 77 44 67 65 65 69 72 44 77 65 65 79 50 68 44 71 65 65 87 65 44 69 65 65 81 51 68 44 79 65 65 83 75 44 73 65 71 114 68 113 67 44 75 65 65 77 44 83 65 65 85 106 68 44 69 65 65 75 107 68 44 71 65 67 112 66 44 73 65 65 73 106 66 44 69 65 65 81 112 66 44 69 65 65 73 44 69 65 69 104 66 44 71 65 65 75 109 66 44 69 65 65 97 104 67 44 73 65 69 106 66 44 73 65 68 65 105 67 44 69 65 65 83 106 67 44 69 65 65 73 105 67 44 79 65 67 76 112 66 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 73 65 67 110 66 44 73 65 65 103 68 44 73 65 65 51 67 113 67 44 69 65 65 83 47 68 44 75 65 65 77 97 44 69 65 65 75 97 44 71 65 65 75 65 44 69 65 65 71 98 44 69 65 65 75 97 44 73 65 67 114 67 44 87 65 73 70 44 73 65 65 77 65 44 75 65 65 75 98 44 69 65 67 86 44 73 65 65 103 68 44 73 65 65 51 67 107 68 44 69 65 65 83 47 68 44 75 65 65 77 97 44 69 65 65 75 97 44 71 65 65 75 65 44 69 65 65 71 98 44 69 65 65 75 97 44 73 65 67 114 67 44 77 65 75 72 44 79 65 65 79 98 44 71 65 75 82 105 66 44 75 65 65 77 44 83 65 65 85 107 66 44 71 65 67 102 44 73 65 65 73 120 66 44 69 65 67 72 109 67 44 69 65 65 77 44 71 65 67 78 106 67 44 69 65 65 73 44 69 65 67 74 90 44 69 65 65 87 107 67 44 69 65 65 75 108 67 44 83 65 69 106 66 44 71 65 65 77 65 44 69 65 81 67 44 67 65 65 65 44 71 65 65 107 66 44 73 65 65 98 65 44 71 65 65 43 66 44 73 65 65 98 65 44 71 65 65 43 66 44 75 65 65 98 65 44 69 65 67 47 67 44 79 65 65 79 107 67 44 69 65 65 75 113 68 44 89 65 67 78 44 71 65 65 107 66 44 73 65 65 98 118 70 44 71 65 65 43 66 44 73 65 65 98 65 44 69 65 67 55 66 44 79 65 65 79 107 67 44 69 65 65 75 115 68 44 101 65 82 90 44 77 65 65 85 57 69 44 69 65 65 79 119 66 44 69 65 65 77 116 66 44 75 65 71 116 66 105 67 44 71 65 65 79 110 66 44 71 65 65 79 86 44 75 65 65 77 78 44 71 65 85 116 66 44 79 65 65 79 109 67 44 71 65 73 82 52 67 44 85 65 65 87 44 83 65 65 85 57 71 44 69 65 65 75 43 71 44 71 65 67 122 66 44 73 65 65 73 55 67 44 69 65 65 77 54 67 44 71 65 65 87 44 71 65 97 114 66 44 79 65 88 89 44 77 65 65 80 47 71 44 73 65 67 67 111 68 44 69 65 65 97 108 68 44 79 65 65 81 70 44 73 65 67 122 66 43 67 44 71 65 65 79 111 66 44 77 65 65 79 68 44 69 65 67 69 44 105 66 65 65 82 108 69 44 69 65 67 78 44 67 65 65 69 65 44 71 65 65 81 65 44 71 65 71 90 85 44 69 65 65 75 72 44 75 65 65 77 50 68 44 69 65 65 75 108 69 44 73 65 73 88 107 69 44 71 65 71 82 56 67 44 81 65 65 83 44 83 65 65 85 122 68 44 69 65 65 77 118 68 44 69 65 65 75 105 67 44 71 65 67 55 66 44 79 65 65 99 44 77 65 65 80 106 67 44 71 65 65 101 44 69 65 65 73 87 44 71 65 65 81 74 44 75 65 65 77 80 44 69 65 65 75 117 68 44 69 65 65 77 116 66 44 73 65 71 112 68 103 70 44 83 65 65 85 44 83 65 65 85 49 68 44 71 65 67 110 66 44 73 65 65 73 50 68 44 69 65 65 89 51 68 44 71 65 65 81 65 44 69 65 65 75 52 68 44 97 65 67 53 66 67 44 69 65 65 85 55 68 44 73 65 65 85 65 44 69 65 65 75 56 68 44 101 65 65 105 66 57 68 44 71 65 65 79 43 68 44 103 66 65 73 108 68 44 79 65 65 81 120 69 44 69 65 65 89 121 69 44 75 65 65 77 76 44 71 65 65 97 69 44 71 65 65 87 65 44 69 65 65 81 57 68 44 85 65 65 89 44 83 65 75 118 69 97 44 77 65 65 79 44 83 65 65 85 77 44 69 65 65 79 43 67 44 71 65 75 118 66 44 73 65 74 65 44 73 65 65 73 120 67 44 71 65 65 79 119 67 44 69 65 65 79 110 69 44 79 65 67 106 66 52 66 44 69 65 65 73 44 69 65 67 74 104 68 44 69 65 65 73 119 67 44 69 65 65 77 112 66 44 79 65 69 72 52 66 44 69 65 65 73 68 44 69 65 65 75 67 44 73 65 67 104 66 82 44 69 65 65 79 120 67 44 75 65 65 81 117 70 44 69 65 65 81 118 67 44 71 65 75 120 66 44 79 65 70 65 82 44 69 65 65 77 112 66 44 79 65 65 83 112 66 44 69 65 69 82 119 67 44 71 65 71 82 73 44 75 65 65 77 44 83 65 65 85 90 44 69 65 65 79 75 44 69 65 65 85 109 68 44 71 65 83 104 67 44 73 65 82 65 44 73 65 67 67 67 44 69 65 65 85 44 71 65 67 86 122 70 44 69 65 65 73 44 69 65 67 74 111 66 44 69 65 65 83 89 44 69 65 65 77 90 44 79 65 67 102 115 69 44 71 65 65 107 66 70 44 69 65 73 88 120 70 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 75 65 67 65 113 67 44 69 65 65 85 76 44 69 65 65 79 104 67 44 71 65 65 75 65 44 75 65 67 104 66 48 70 44 71 65 67 120 66 68 44 69 65 65 81 104 72 44 75 65 65 77 117 68 44 69 65 65 79 104 67 44 73 65 73 118 66 44 79 65 65 79 121 70 44 71 65 73 82 110 68 44 73 65 65 75 44 83 65 65 85 78 44 69 65 65 79 75 44 69 65 65 85 115 68 44 71 65 67 47 66 44 73 65 65 73 118 69 44 69 65 65 81 119 69 44 69 65 67 88 53 70 44 69 65 65 73 44 69 65 67 74 105 67 44 69 65 65 77 44 71 65 71 80 44 71 65 65 75 100 44 69 65 65 97 97 44 71 65 69 106 66 44 73 65 68 65 90 44 69 65 65 83 89 44 69 65 65 77 90 44 79 65 67 80 112 66 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 73 65 71 76 44 79 65 70 100 52 70 44 69 65 65 81 118 68 44 69 65 65 85 76 44 69 65 65 79 104 67 44 71 65 65 75 65 44 69 65 65 71 50 70 44 75 65 71 104 67 49 68 44 69 65 65 73 120 68 44 75 65 65 77 109 72 44 81 65 77 90 44 73 65 65 77 53 70 44 75 65 65 75 103 67 44 69 65 71 73 44 79 65 70 100 52 68 44 69 65 65 81 118 68 44 69 65 65 85 76 44 69 65 65 79 104 67 44 71 65 65 75 65 44 69 65 65 71 50 70 44 75 65 71 104 67 49 68 44 69 65 65 73 120 68 44 75 65 65 77 109 72 44 71 65 77 98 44 79 65 65 79 120 72 44 69 65 65 77 54 68 44 73 65 73 100 52 68 44 75 65 65 77 44 69 65 73 78 53 71 44 81 65 65 83 65 44 75 65 71 97 44 109 66 65 65 88 54 71 44 83 65 67 88 104 70 44 71 65 65 79 71 44 71 65 65 73 54 69 44 79 65 65 79 67 44 85 65 65 97 104 73 44 71 65 65 75 43 72 44 79 65 65 79 67 44 87 65 73 53 67 106 70 44 71 65 65 79 115 66 44 75 65 65 77 44 117 69 65 65 117 69 52 68 44 77 65 65 79 44 75 65 67 49 70 44 83 65 65 85 67 44 69 65 65 73 49 69 44 71 65 67 98 53 67 44 69 65 65 89 44 87 65 65 97 52 67 44 69 65 65 79 44 75 65 65 81 65 44 69 65 65 75 67 44 103 66 65 48 66 47 67 44 73 65 65 73 48 69 44 71 65 65 77 110 73 44 71 65 65 73 109 73 44 73 65 71 86 104 68 44 71 65 65 79 110 70 44 71 65 65 73 109 70 44 75 65 71 88 67 44 71 65 65 83 112 70 44 71 65 65 73 111 70 44 79 65 71 98 103 68 44 71 65 65 97 44 115 66 65 71 98 67 44 71 65 65 87 44 73 65 65 73 67 44 79 65 67 108 66 44 73 65 65 77 70 44 71 65 65 97 44 56 66 65 65 103 67 65 44 71 65 65 97 44 75 65 67 104 69 44 75 65 79 68 114 70 44 71 65 65 79 119 70 44 83 65 65 87 44 83 65 65 85 67 44 69 65 65 71 67 44 71 65 67 57 66 44 73 65 65 73 67 44 69 65 65 77 68 44 71 65 65 75 65 44 69 65 65 69 47 70 44 87 65 69 106 66 44 79 65 65 79 56 70 44 73 65 65 77 69 44 77 65 65 87 65 44 71 65 65 119 66 44 73 65 65 106 66 65 44 69 65 65 73 114 72 44 89 65 73 108 67 109 72 44 69 65 65 69 68 44 83 65 67 68 67 44 69 65 65 69 68 44 83 65 65 85 71 44 71 65 67 90 70 44 69 65 65 69 71 44 121 66 65 65 56 68 44 71 65 65 110 67 72 44 69 65 65 69 71 44 119 66 65 65 121 66 68 44 77 65 83 51 68 44 73 65 65 73 69 44 69 65 65 97 44 43 67 65 69 106 66 44 83 65 65 83 67 44 69 65 65 89 67 44 69 65 65 73 67 44 71 65 67 120 66 44 79 65 65 75 65 44 69 65 71 81 44 79 65 65 80 68 44 69 65 67 71 44 83 65 73 68 65 44 69 65 65 71 49 73 44 77 65 65 79 44 71 65 65 73 44 71 65 65 77 44 75 65 65 79 48 73 44 69 65 65 71 69 44 87 65 65 89 70 44 69 65 65 71 122 70 44 79 65 65 83 44 71 65 65 73 120 67 44 83 65 65 85 44 73 65 65 79 44 73 65 73 53 69 44 75 65 65 79 105 73 44 69 65 71 102 47 70 44 71 65 65 79 107 71 44 101 65 65 105 66 44 83 65 65 85 67 44 71 65 67 106 67 44 79 65 65 83 65 44 69 65 65 77 44 73 65 65 75 47 67 44 81 65 65 83 121 67 44 69 65 65 89 67 44 73 65 77 49 67 44 73 65 65 73 77 44 71 65 65 101 122 74 44 69 65 67 108 66 48 74 44 71 65 65 97 49 73 44 71 65 69 100 44 87 65 69 65 44 73 65 65 73 117 66 44 69 65 67 72 111 72 44 69 65 67 65 67 44 69 65 67 65 67 44 69 65 67 65 67 44 69 65 73 65 57 74 44 69 65 67 65 52 72 44 69 65 67 65 109 67 44 69 65 67 65 67 44 69 65 67 65 104 67 44 69 65 80 65 104 72 44 69 65 65 79 48 73 44 71 65 85 80 112 68 44 69 65 65 85 106 68 44 71 65 65 79 105 68 44 81 65 67 106 66 50 68 44 69 65 65 85 44 69 65 67 86 67 44 69 65 65 79 44 69 65 67 80 67 44 69 65 65 97 67 44 73 65 67 98 67 44 69 65 65 97 68 44 73 65 67 98 69 44 69 65 65 103 66 70 44 73 65 67 104 66 71 44 69 65 65 121 66 72 44 73 65 67 122 66 73 44 69 65 65 89 44 83 65 65 85 49 66 44 69 65 65 71 67 44 71 65 73 120 66 44 79 65 72 75 68 44 73 65 65 77 67 44 73 65 67 86 101 44 71 65 65 101 44 71 65 69 84 44 71 65 71 82 87 44 69 65 65 87 44 54 72 65 77 88 67 44 69 65 65 97 44 48 66 65 65 52 66 104 67 44 71 65 67 120 67 44 48 67 65 71 68 105 67 44 69 65 65 97 44 77 65 65 81 106 67 44 71 65 65 97 44 75 65 65 79 103 67 44 69 65 65 97 44 79 65 65 83 104 67 44 71 65 71 57 68 44 103 66 65 65 107 66 65 44 71 65 71 108 66 44 50 68 65 65 54 68 103 67 44 69 65 65 97 44 79 65 67 49 69 104 67 44 71 65 65 97 44 79 65 69 100 107 67 44 69 65 65 85 44 75 65 65 79 70 44 69 65 65 97 44 119 70 65 79 65 67 44 69 65 65 97 44 101 65 79 51 67 69 44 69 65 65 99 44 73 65 65 73 106 67 44 79 65 65 81 70 44 71 65 65 97 44 73 65 65 75 44 75 65 69 53 67 111 67 44 69 65 65 83 44 73 65 65 73 108 67 44 79 65 65 81 44 73 65 65 77 70 44 71 65 65 97 44 75 65 65 79 65 44 71 65 65 97 44 75 65 67 53 68 113 67 44 69 65 65 113 66 44 73 65 65 73 110 67 44 79 65 65 81 44 73 65 65 77 70 44 71 65 65 97 44 87 65 65 97 65 44 71 65 65 97 44 73 65 67 55 69 65 44 71 65 65 97 44 75 65 67 100 115 67 44 69 65 65 87 44 73 65 65 73 112 67 44 79 65 65 81 70 44 71 65 65 97 44 77 65 69 112 67 117 67 44 69 65 65 85 44 73 65 65 73 114 67 44 79 65 65 81 103 67 44 71 65 67 116 66 77 44 69 65 65 99 44 73 65 65 73 116 67 44 79 65 65 81 44 73 65 65 77 56 66 44 69 65 65 97 44 75 65 69 55 67 83 44 69 65 65 89 44 67 65 67 88 67 44 71 65 65 73 44 73 65 65 73 120 67 44 79 65 65 81 44 77 65 65 81 56 66 44 69 65 65 97 44 75 65 67 114 67 87 44 77 65 65 79 44 73 65 65 73 122 67 44 79 65 65 81 44 81 65 65 85 56 66 44 69 65 65 97 44 75 65 67 49 67 89 44 73 65 65 75 44 73 65 65 73 49 67 44 79 65 65 81 44 75 65 65 79 56 66 44 69 65 65 97 44 83 65 67 114 67 97 44 75 65 65 77 44 73 65 65 73 51 67 44 79 65 65 81 44 73 65 65 77 43 66 44 71 65 67 120 66 97 44 79 65 65 81 44 73 65 65 73 53 67 44 79 65 65 81 44 73 65 65 77 103 67 44 71 65 67 49 66 97 44 77 65 65 79 44 73 65 65 73 55 67 44 79 65 67 86 44 121 68 65 67 67 70 44 71 65 65 97 44 43 66 65 65 105 67 65 44 71 65 65 97 44 99 65 67 51 68 65 44 71 65 65 97 44 97 65 65 101 65 44 71 65 65 97 44 83 65 65 85 44 75 65 67 114 68 103 68 44 75 65 65 77 44 73 65 65 73 57 67 44 79 65 65 81 44 79 65 65 83 54 66 44 69 65 65 87 44 75 65 65 77 44 75 65 73 53 67 107 66 44 97 65 65 99 44 73 65 65 73 47 67 44 79 65 65 81 44 73 65 65 77 70 44 71 65 67 47 66 44 109 68 65 65 113 68 65 44 71 65 67 114 68 44 109 66 65 65 113 66 65 44 71 65 65 97 44 109 66 65 65 111 66 44 77 65 71 120 68 107 68 44 69 65 65 85 44 115 67 65 67 86 67 44 69 65 65 85 44 83 65 71 86 67 44 69 65 65 97 44 109 67 65 69 98 67 44 69 65 65 87 44 79 65 73 88 67 44 69 65 65 89 44 73 65 65 73 112 68 44 79 65 65 81 44 117 66 65 65 121 66 70 44 71 65 67 104 68 44 117 66 65 65 119 66 44 75 65 67 122 66 117 68 44 69 65 65 89 44 83 65 65 85 67 44 69 65 65 81 67 44 71 65 67 55 66 44 73 65 65 73 67 44 69 65 65 79 44 75 65 65 79 70 44 69 65 65 79 120 76 44 77 65 65 79 44 71 65 65 77 44 77 65 69 116 67 44 79 65 65 75 121 76 44 73 65 85 69 67 44 69 65 65 79 44 69 65 67 98 67 44 79 65 65 79 67 44 97 65 65 99 70 44 69 65 65 79 44 79 65 67 53 66 67 44 79 65 65 79 67 44 97 65 65 99 70 44 71 65 65 81 44 71 65 65 75 44 77 65 65 101 44 75 65 65 80 65 44 69 65 65 101 44 83 65 79 51 68 71 44 69 65 65 103 66 44 87 65 67 102 67 44 75 65 71 68 67 44 69 65 65 113 66 67 44 69 65 67 112 66 44 83 65 65 85 55 73 44 71 65 67 84 44 79 65 65 121 66 44 73 65 65 108 66 65 44 69 65 65 75 56 73 44 85 65 65 113 66 47 73 44 71 65 65 85 67 44 69 65 65 77 44 97 65 69 108 68 44 67 65 65 69 43 73 44 73 65 65 75 44 97 65 65 99 67 44 75 65 65 77 44 87 65 97 55 66 44 73 65 67 67 55 76 44 69 65 65 75 68 44 77 65 67 70 84 44 71 65 65 77 73 44 71 65 65 77 71 44 75 65 65 77 52 73 44 71 65 65 97 113 68 44 89 65 67 106 67 114 68 44 71 65 65 97 113 68 44 89 65 77 100 120 77 44 71 65 65 75 109 74 44 71 65 65 97 113 68 44 87 65 65 87 110 74 44 81 65 65 83 104 67 44 83 65 67 114 67 44 77 65 65 81 111 76 44 71 65 67 84 47 76 44 69 65 65 79 44 67 65 67 78 68 44 77 65 65 79 44 83 65 65 85 105 70 44 69 65 65 81 103 72 44 71 65 67 120 66 116 68 44 71 65 65 87 51 73 44 77 65 65 79 105 70 44 69 65 65 81 116 70 44 71 65 65 77 71 44 75 65 65 77 109 77 44 75 65 69 118 67 110 77 44 75 65 65 77 44 83 65 65 85 109 70 44 71 65 67 102 48 68 44 71 65 65 87 51 73 44 77 65 65 79 105 70 44 69 65 65 81 116 70 44 71 65 65 77 71 44 75 65 65 77 105 69 44 85 65 65 87 44 77 65 75 112 68 44 83 65 65 83 109 73 44 69 65 65 77 51 74 44 69 65 65 85 67 44 69 65 65 83 56 68 44 69 65 65 83 54 70 44 71 65 67 49 67 44 73 65 65 73 67 44 69 65 65 71 53 75 44 69 65 65 71 115 66 44 69 65 65 77 117 74 44 69 65 65 75 67 44 69 65 65 79 67 44 69 65 65 81 67 44 69 65 67 110 67 67 44 69 65 65 97 106 75 44 71 65 65 87 65 44 69 65 65 81 111 69 44 99 65 71 104 67 104 71 44 69 65 65 87 52 66 44 69 65 65 85 65 44 69 65 65 81 53 66 44 83 65 65 87 44 69 65 75 122 67 44 71 65 72 65 48 70 44 69 65 65 85 65 44 71 65 65 87 44 71 65 71 73 44 105 66 65 65 98 47 68 44 73 65 65 48 66 65 44 71 65 67 120 66 44 73 65 65 98 51 66 44 71 65 65 43 66 44 73 65 65 98 65 44 71 65 65 43 66 44 75 65 65 98 65 44 69 65 69 112 67 44 79 65 65 79 48 70 44 69 65 73 82 44 73 65 65 77 54 70 44 73 65 67 76 86 44 69 65 65 97 106 74 44 71 65 67 98 65 44 69 65 65 85 65 44 71 65 65 87 118 68 44 69 65 69 104 66 43 74 44 71 65 65 105 66 44 67 65 73 114 66 44 71 65 65 107 66 44 75 65 65 98 112 73 44 73 65 65 113 66 48 76 44 69 65 65 81 118 66 44 69 65 65 87 50 66 44 75 65 65 77 110 75 44 73 65 71 108 68 44 71 65 65 79 54 74 44 69 65 65 73 69 44 69 65 65 79 44 73 65 71 106 66 44 71 65 65 107 66 44 73 65 65 98 49 76 44 69 65 65 105 66 44 67 65 67 114 66 44 75 65 65 79 107 67 44 69 65 65 79 78 44 69 65 65 81 109 75 44 101 65 65 103 66 80 44 73 65 83 114 67 44 79 65 65 79 57 70 44 69 65 76 80 44 71 65 65 75 120 68 44 69 65 65 75 56 74 44 75 65 65 79 82 44 69 65 69 104 66 44 79 65 68 65 110 77 44 69 65 65 75 72 44 75 65 65 77 119 71 44 69 65 65 83 120 68 44 71 65 67 98 119 68 44 79 65 87 84 44 71 65 65 75 109 71 44 73 65 65 103 66 51 74 44 69 65 65 79 50 74 44 69 65 65 87 69 44 101 65 65 103 66 80 44 75 65 67 116 68 70 44 69 65 65 75 112 69 44 83 65 65 85 116 70 44 69 65 65 83 77 44 73 65 67 120 66 65 44 69 65 65 75 56 74 44 75 65 65 79 82 44 69 65 71 90 44 79 65 68 65 110 77 44 69 65 65 75 72 44 75 65 65 77 119 71 44 69 65 65 83 120 68 44 71 65 67 98 119 68 44 77 65 75 72 44 67 65 65 65 44 71 65 65 75 103 71 44 69 65 65 79 44 71 65 69 108 66 44 79 65 68 65 114 77 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 65 83 57 68 44 69 65 65 81 113 75 44 113 66 65 65 115 66 116 75 44 73 65 67 53 67 43 68 44 69 65 71 68 44 73 65 65 79 56 70 44 69 65 65 73 69 44 69 65 65 79 44 75 65 65 83 57 74 44 69 65 65 81 115 75 44 117 66 65 69 122 67 44 79 65 68 65 55 77 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 65 83 57 68 44 69 65 65 81 115 75 44 117 66 65 65 119 66 86 44 73 65 67 57 67 57 70 44 69 65 75 84 44 75 65 65 77 107 68 44 69 65 65 119 66 106 72 44 69 65 65 87 44 77 65 67 114 67 48 71 44 71 65 65 99 65 44 69 65 65 85 110 67 44 75 65 65 77 118 69 44 73 65 65 101 44 67 65 89 104 68 44 71 65 86 65 105 75 44 69 65 65 99 106 75 44 69 65 67 100 107 75 44 69 65 65 97 106 75 44 69 65 83 75 44 73 65 65 98 53 66 44 73 65 67 70 113 74 44 69 65 65 83 110 68 44 75 65 65 77 118 69 44 73 65 65 99 121 72 44 69 65 65 109 66 108 68 44 75 65 65 77 118 69 44 73 65 65 101 44 69 65 71 118 69 107 75 44 69 65 65 97 122 66 44 69 65 65 83 108 69 44 75 65 65 77 118 69 44 73 65 65 99 119 75 44 69 65 65 97 118 75 44 69 65 65 81 80 44 97 65 67 57 68 79 44 73 65 81 107 66 65 44 71 65 65 89 47 66 44 71 65 65 81 117 77 44 83 65 71 47 66 88 44 69 65 65 77 55 74 44 69 65 65 81 88 44 97 65 65 99 44 79 65 67 108 67 119 75 44 69 65 65 77 47 74 44 71 65 65 79 107 71 44 101 65 65 103 66 54 68 44 71 65 69 55 66 55 74 44 69 65 65 81 86 44 97 65 65 99 44 75 65 65 81 117 75 44 69 65 65 77 57 71 44 73 65 77 116 67 47 68 44 71 65 68 65 43 75 44 69 65 65 83 85 44 69 65 65 85 49 75 44 73 65 67 82 75 44 79 65 67 88 44 77 65 65 81 112 66 44 73 65 67 80 43 75 44 69 65 65 81 47 75 44 73 65 65 81 54 75 44 69 65 65 77 44 73 65 65 77 65 44 69 65 65 77 44 85 65 65 97 44 73 65 67 57 67 97 44 69 65 65 89 88 44 69 65 65 81 47 75 44 73 65 69 116 66 103 76 44 69 65 65 99 68 44 69 65 65 79 89 44 75 65 65 77 44 75 65 71 53 66 44 73 65 73 67 44 79 65 72 65 108 78 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 67 88 109 71 44 69 65 65 87 87 44 105 66 65 65 107 66 90 44 73 65 69 118 66 108 71 44 69 65 67 78 44 77 65 65 81 43 71 44 71 65 67 84 55 68 44 69 65 65 119 66 106 72 44 71 65 65 85 44 71 65 67 106 67 44 81 65 67 73 56 74 44 73 65 65 81 57 71 44 71 65 67 90 47 67 44 69 65 65 81 56 75 44 103 66 65 65 105 66 44 81 65 81 57 66 44 79 65 65 79 67 44 71 65 65 81 104 76 44 69 65 65 83 109 68 44 81 65 65 83 107 67 44 71 65 65 85 44 77 65 65 81 112 70 44 69 65 65 83 56 68 44 69 65 65 83 54 70 44 71 65 83 116 69 44 83 65 65 83 57 67 44 73 65 67 82 44 73 65 65 73 109 69 44 69 65 65 79 44 71 65 97 88 44 79 65 88 65 44 83 65 65 83 67 44 69 65 65 79 67 44 69 65 65 75 116 71 44 71 65 83 112 66 44 79 65 76 75 111 71 44 69 65 65 75 118 78 44 75 65 65 77 121 78 44 69 65 65 77 44 75 65 65 81 57 69 44 69 65 65 75 43 69 44 111 66 65 71 51 66 70 44 69 65 65 79 68 44 69 65 65 75 73 44 83 65 69 88 72 44 69 65 65 79 67 44 69 65 65 77 44 75 65 65 81 116 71 44 71 65 83 104 67 44 83 65 65 83 121 71 44 69 65 65 99 112 76 44 71 65 69 116 66 44 79 65 68 65 65 44 69 65 65 73 56 67 44 73 65 65 89 44 69 65 67 84 57 67 44 69 65 79 82 44 83 65 65 83 113 76 44 69 65 65 81 114 76 44 71 65 67 104 66 44 73 65 65 73 115 76 44 69 65 65 75 57 79 44 69 65 65 83 48 67 44 99 65 65 101 44 89 65 69 106 67 44 73 65 67 67 44 81 65 65 83 99 44 69 65 65 73 115 76 44 71 65 67 90 44 77 65 65 81 47 66 44 71 65 67 84 44 79 65 65 79 44 69 65 67 78 44 81 65 71 73 43 66 44 69 65 65 71 57 76 44 89 65 67 80 56 76 44 69 65 65 71 57 76 44 87 65 65 87 67 44 89 65 65 97 54 76 44 71 65 73 53 66 65 44 69 65 65 75 44 77 65 81 80 44 83 65 65 83 67 44 69 65 65 109 66 104 78 44 71 65 67 51 66 44 79 65 65 79 44 83 65 65 85 56 66 44 71 65 67 104 66 44 79 65 65 79 68 44 71 65 65 85 67 44 69 65 65 77 44 85 65 65 97 65 44 69 65 65 75 57 66 44 79 65 65 83 65 44 71 65 81 112 68 44 83 65 65 83 105 78 44 69 65 65 111 66 106 78 44 71 65 67 53 66 44 79 65 65 79 44 83 65 65 85 56 66 44 71 65 67 104 66 44 79 65 65 83 68 44 71 65 65 85 67 44 69 65 65 77 44 85 65 65 97 68 44 71 65 65 85 67 44 69 65 65 77 44 89 65 67 114 68 65 44 69 65 65 75 57 66 44 79 65 65 83 65 44 71 65 81 106 66 44 83 65 65 83 107 78 44 69 65 65 115 66 116 67 44 71 65 71 57 66 44 79 65 65 79 44 83 65 65 85 57 73 44 71 65 75 104 66 44 77 65 65 75 44 83 65 65 85 65 44 69 65 83 84 65 44 69 65 65 75 98 44 97 65 65 103 67 44 73 65 65 108 66 97 44 69 65 65 75 56 73 44 83 65 71 118 66 44 85 65 65 87 57 73 44 69 65 67 86 44 85 65 65 87 65 44 69 65 65 75 98 44 87 65 67 98 97 44 69 65 65 75 98 44 87 65 65 87 50 74 44 87 65 65 97 65 44 69 65 69 55 66 57 73 44 69 65 65 75 56 73 44 87 65 65 97 65 44 69 65 77 112 66 57 73 44 69 65 65 75 113 76 44 97 65 65 101 118 67 44 71 65 71 49 66 57 73 44 69 65 65 75 113 76 44 99 65 65 103 66 118 67 44 71 65 67 112 66 70 44 69 65 65 111 66 53 73 44 75 65 65 87 56 73 44 69 65 71 51 66 57 73 44 69 65 65 75 56 73 44 87 65 65 97 65 44 69 65 75 100 44 85 65 65 87 57 73 44 71 65 67 102 65 44 69 65 65 75 56 73 44 87 65 65 97 65 44 71 65 89 53 66 44 83 65 65 83 119 67 44 69 65 65 119 66 51 76 44 71 65 67 104 67 44 79 65 65 79 111 76 44 69 65 65 99 44 83 65 65 85 81 44 71 65 69 57 66 44 79 65 68 65 65 44 71 65 65 89 65 44 69 65 67 76 82 44 69 65 65 99 44 83 65 65 85 49 66 44 69 65 65 77 108 70 44 71 65 67 112 67 44 73 65 65 73 122 67 44 69 65 67 72 56 74 44 69 65 65 101 55 76 44 69 65 65 73 44 71 65 65 73 48 74 44 69 65 65 75 118 74 44 79 65 65 81 121 76 44 71 65 67 112 67 55 77 44 69 65 65 73 56 77 44 69 65 65 97 49 76 44 79 65 71 108 66 44 77 65 65 81 112 66 44 73 65 67 70 50 75 44 69 65 65 81 51 72 44 69 65 65 73 56 74 44 69 65 65 99 57 77 44 77 65 67 57 66 50 75 44 69 65 65 77 51 72 44 75 65 65 83 121 67 44 69 65 65 83 122 67 44 71 65 65 77 50 72 44 69 65 65 77 51 72 44 83 65 89 122 67 44 83 65 65 83 117 73 44 69 65 65 97 118 75 44 71 65 67 114 66 44 79 65 65 79 65 44 71 65 65 109 68 44 111 66 65 65 106 67 65 44 69 65 65 81 113 75 44 115 66 65 65 119 67 114 75 44 69 65 81 49 69 44 83 65 65 83 105 74 44 69 65 65 97 110 75 44 71 65 67 114 66 44 73 65 65 73 105 78 44 69 65 67 72 104 78 44 69 65 65 77 68 44 69 65 65 79 65 44 69 65 65 75 115 70 44 101 65 65 105 66 116 70 44 69 65 65 79 111 72 44 71 65 79 51 67 44 79 65 65 75 110 72 44 71 65 65 79 116 67 44 71 65 65 54 66 44 73 65 65 106 66 115 67 44 69 65 65 73 88 44 85 65 65 109 66 87 44 69 65 65 73 115 70 44 107 66 65 77 110 68 65 44 71 65 68 65 53 72 44 69 65 65 87 115 67 44 71 65 67 103 66 115 70 44 103 66 65 67 51 66 109 67 44 71 65 65 107 66 49 71 44 71 65 65 79 107 69 44 83 65 65 85 118 72 44 71 65 73 110 67 103 73 44 69 65 65 85 74 44 69 65 65 103 66 73 44 83 65 67 122 66 74 44 69 65 65 103 66 50 72 44 117 66 65 67 104 66 51 72 44 69 65 65 103 66 52 72 44 107 66 65 81 90 47 70 44 73 65 65 103 66 122 74 44 73 65 67 108 66 115 80 44 69 65 65 89 116 80 44 69 65 65 83 121 80 44 99 65 65 105 66 72 44 69 65 65 85 73 44 77 65 65 81 74 44 71 65 71 49 68 65 44 69 65 65 85 75 44 105 66 65 65 107 66 44 83 65 65 85 112 68 44 71 65 79 118 67 47 75 44 71 65 65 81 111 79 44 81 65 65 85 102 44 69 65 65 81 44 83 65 65 85 67 44 71 65 69 110 67 44 79 65 68 65 108 72 44 69 65 65 103 66 55 69 44 89 65 65 97 43 76 44 71 65 65 75 110 66 44 71 65 65 75 116 75 44 71 65 65 79 105 68 44 83 65 67 116 67 116 71 44 69 65 65 83 54 80 44 111 66 65 67 102 55 80 44 69 65 65 83 54 80 44 107 66 65 65 109 66 120 77 44 71 65 65 79 105 68 44 83 65 65 85 51 67 44 83 65 77 104 68 110 67 44 71 65 65 81 115 79 44 107 66 65 65 111 66 106 66 44 69 65 65 81 44 83 65 65 85 67 44 71 65 67 55 67 44 79 65 65 79 57 71 44 69 65 65 81 110 72 44 75 65 65 77 105 79 44 69 65 65 73 44 79 65 75 49 66 116 78 44 71 65 65 81 117 77 44 77 65 65 81 99 44 69 65 65 81 44 87 65 67 118 66 44 79 65 65 79 55 79 44 69 65 65 83 109 79 44 105 66 65 65 107 66 44 89 65 89 110 67 51 77 44 71 65 65 81 117 79 44 79 65 65 83 108 66 44 69 65 65 81 44 87 65 67 120 66 44 73 65 69 67 44 79 65 68 65 55 79 44 69 65 65 83 103 81 44 99 65 65 101 44 111 66 65 67 106 66 44 69 65 67 78 44 77 65 65 81 106 68 44 71 65 67 84 44 79 65 65 79 44 75 65 75 74 118 76 44 71 65 65 81 111 79 44 83 65 67 90 106 71 44 69 65 65 75 115 71 44 79 65 65 79 55 69 44 71 65 65 75 44 83 65 65 85 117 67 44 71 65 67 49 66 44 73 65 65 73 117 67 44 69 65 65 83 118 67 44 69 65 65 71 108 72 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 67 112 67 44 79 65 65 79 44 83 65 65 85 112 73 44 71 65 67 104 66 44 79 65 65 79 65 44 69 65 65 75 106 66 44 97 65 65 99 44 81 65 65 87 115 78 44 73 65 71 118 67 118 71 44 69 65 65 75 115 68 44 75 65 65 75 55 66 44 71 65 65 75 44 83 65 65 85 117 67 44 69 65 65 73 112 75 44 71 65 67 53 66 44 71 65 65 117 67 44 111 66 65 65 51 66 65 44 69 65 65 81 109 75 44 103 66 65 65 107 67 51 68 44 69 65 65 105 66 44 67 65 67 116 69 44 73 65 65 73 108 71 44 69 65 65 79 78 44 69 65 65 81 109 75 44 101 65 65 103 66 67 44 71 65 67 110 67 44 79 65 65 79 57 74 44 69 65 65 79 44 67 65 65 69 65 44 71 65 65 83 44 79 65 73 51 66 56 70 44 69 65 65 75 115 71 44 79 65 65 79 55 69 44 71 65 65 77 44 83 65 65 85 117 67 44 71 65 67 51 66 44 73 65 65 73 117 67 44 69 65 65 83 118 67 44 69 65 65 71 108 72 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 67 112 67 44 79 65 65 79 44 83 65 65 85 112 73 44 71 65 67 104 66 44 73 65 65 73 120 66 44 69 65 65 119 67 44 111 66 65 65 49 66 119 66 44 69 65 65 75 115 77 44 107 66 65 67 116 66 116 77 44 69 65 65 75 115 77 44 105 66 65 65 107 66 44 77 65 67 120 66 44 79 65 65 79 57 78 44 71 65 65 81 65 44 69 65 65 75 56 70 44 81 65 65 85 43 72 44 73 65 77 104 67 118 71 44 69 65 65 75 115 68 44 75 65 65 75 55 66 44 71 65 65 75 44 83 65 65 85 117 67 44 69 65 65 73 112 75 44 71 65 67 53 66 44 71 65 65 117 67 44 111 66 65 65 51 66 65 44 69 65 65 81 109 75 44 103 66 65 65 107 67 51 68 44 69 65 65 105 66 44 67 65 67 116 69 44 73 65 65 73 49 72 44 69 65 65 77 69 44 69 65 65 71 103 67 44 69 65 67 90 86 44 69 65 65 79 78 44 69 65 65 81 109 75 44 101 65 65 103 66 67 44 71 65 69 104 67 44 71 65 65 75 57 74 44 69 65 65 79 44 67 65 73 88 44 73 65 68 65 120 66 44 69 65 65 79 119 66 44 69 65 65 75 115 77 44 105 66 65 65 107 66 44 81 65 67 106 66 57 78 44 69 65 65 75 56 70 44 81 65 65 85 119 70 44 69 65 67 51 66 44 77 65 65 79 44 67 65 65 69 57 74 44 71 65 73 86 85 44 69 65 65 81 104 66 44 69 65 65 81 115 77 44 107 66 65 65 109 66 108 67 44 71 65 67 110 67 112 76 44 69 65 65 73 44 69 65 67 74 44 77 65 65 85 115 66 44 69 65 65 79 85 44 69 65 65 79 104 67 44 75 65 69 118 66 44 73 65 68 65 70 44 69 65 65 79 119 66 44 69 65 65 75 115 77 44 105 66 65 65 107 66 44 81 65 67 106 66 57 78 44 69 65 65 75 56 70 44 81 65 65 85 119 70 44 69 65 67 51 66 44 77 65 65 79 44 67 65 65 69 57 74 44 71 65 75 90 44 77 65 65 79 44 77 65 77 86 56 70 44 69 65 65 75 115 68 44 75 65 65 75 51 66 44 73 65 65 77 44 83 65 65 85 56 69 44 69 65 65 75 55 77 44 71 65 67 57 66 44 77 65 65 54 67 44 111 66 65 65 106 67 65 44 69 65 65 81 113 75 44 113 66 65 67 90 114 75 44 69 65 65 81 113 75 44 113 66 65 65 115 66 119 67 44 71 65 73 57 66 55 77 44 69 65 65 81 52 75 44 105 66 65 65 107 66 105 67 44 73 65 75 110 67 122 71 44 69 65 65 75 115 68 44 75 65 65 75 53 66 44 77 65 65 81 44 83 65 65 85 103 70 44 69 65 65 87 57 77 44 71 65 67 116 67 44 71 65 65 43 67 44 111 66 65 65 110 67 65 44 69 65 65 81 115 75 44 119 66 65 65 48 67 57 68 44 69 65 67 55 68 44 79 65 65 79 120 71 44 69 65 65 81 115 75 44 117 66 65 65 119 66 119 67 44 73 65 83 122 67 114 71 44 69 65 65 89 44 71 65 73 90 54 69 44 69 65 65 81 44 83 65 65 85 67 44 71 65 69 106 66 44 73 65 65 73 119 66 44 69 65 69 74 49 73 44 69 65 65 103 66 55 69 44 89 65 65 97 43 76 44 71 65 65 75 121 66 44 85 65 67 106 67 44 85 65 65 89 106 75 44 69 65 65 85 44 105 68 65 67 76 65 44 69 65 65 85 44 111 69 65 75 116 66 119 73 44 69 65 65 71 88 44 105 66 65 65 107 66 44 99 65 65 101 120 75 44 81 65 67 122 67 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 77 65 65 81 48 72 44 71 65 65 97 44 97 65 65 101 43 66 44 69 65 65 87 44 75 65 73 49 68 113 69 44 69 65 65 71 88 44 105 66 65 65 107 66 44 81 65 65 85 55 72 44 69 65 65 85 44 77 65 65 79 51 67 44 81 65 67 114 68 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 77 65 77 88 56 78 44 69 65 65 71 88 44 105 66 65 65 107 66 44 75 65 65 79 55 72 44 69 65 65 85 44 77 65 65 79 51 67 44 81 65 67 108 68 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 89 65 79 88 56 78 44 69 65 65 71 88 44 105 66 65 65 107 66 44 89 65 65 97 120 75 44 81 65 67 118 67 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 97 65 75 106 66 115 80 44 69 65 65 81 116 81 44 69 65 65 83 48 67 44 99 65 65 101 44 85 65 67 49 66 71 44 97 65 65 99 44 79 65 65 81 44 85 65 67 53 66 105 77 44 69 65 65 71 47 76 44 89 65 65 97 117 78 44 71 65 65 81 122 78 44 97 65 65 99 44 79 65 65 81 44 75 65 81 57 67 43 69 44 69 65 65 103 66 55 69 44 89 65 65 97 43 76 44 71 65 65 75 110 67 44 85 65 65 87 44 69 65 67 77 44 73 65 65 57 67 109 67 44 69 65 65 71 88 44 105 66 65 65 107 66 44 97 65 65 99 120 75 44 81 65 67 118 67 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 87 65 65 89 44 99 65 81 55 66 115 80 44 69 65 65 81 116 81 44 69 65 65 83 48 67 44 99 65 65 101 44 85 65 67 49 66 71 44 97 65 65 99 44 79 65 65 81 44 73 65 67 53 66 105 77 44 69 65 65 71 47 76 44 89 65 65 97 117 78 44 71 65 67 86 120 66 44 69 65 65 71 88 44 105 66 65 65 107 66 44 97 65 65 99 120 75 44 81 65 67 120 67 113 71 44 69 65 65 85 104 74 44 75 65 65 77 44 77 65 65 81 48 72 44 71 65 65 97 44 81 65 65 85 65 44 71 65 65 97 44 75 65 67 51 68 65 44 71 65 65 97 44 107 66 65 73 86 108 72 44 71 65 65 81 117 79 44 81 65 81 98 47 70 44 69 65 65 85 104 74 44 75 65 65 77 44 81 65 71 106 66 103 74 44 69 65 65 89 65 44 69 65 65 85 114 71 44 81 65 65 85 44 73 65 65 73 105 70 44 79 65 65 81 111 66 44 69 65 65 85 107 69 44 75 65 65 77 44 77 65 77 53 68 49 68 44 69 65 65 89 44 83 65 65 85 49 66 44 69 65 65 71 67 44 71 65 71 120 66 44 71 65 65 75 68 44 73 65 65 77 67 44 69 65 69 86 44 79 65 68 65 101 44 71 65 65 101 44 69 65 67 82 44 69 65 73 82 44 73 65 65 73 48 71 44 71 65 65 87 49 72 44 69 65 65 69 71 44 121 66 65 65 50 66 70 44 69 65 65 69 69 44 119 66 65 67 57 67 44 79 65 65 75 117 72 44 73 65 103 66 85 44 71 65 80 102 65 44 71 65 65 89 49 72 44 69 65 65 69 110 66 44 101 65 65 105 66 109 66 44 75 65 65 83 67 44 69 65 65 69 112 66 44 101 65 65 105 66 111 66 44 71 65 67 49 68 68 44 69 65 65 69 71 44 119 66 65 65 121 66 70 44 71 65 71 51 66 44 75 65 73 71 118 72 44 71 65 65 81 105 80 44 99 65 65 103 66 49 72 44 69 65 65 69 69 44 119 66 65 65 121 66 72 44 75 65 65 81 48 72 44 69 65 79 122 68 49 72 44 73 65 65 77 57 73 44 71 65 65 89 56 73 44 69 65 65 69 110 66 44 101 65 65 105 66 56 66 44 73 65 67 122 67 119 68 44 69 65 65 75 112 69 44 83 65 65 85 89 44 71 65 65 99 88 44 73 65 67 114 66 44 69 65 79 74 67 44 73 65 65 77 47 73 44 71 65 65 89 43 73 44 69 65 65 69 112 66 44 101 65 65 105 66 56 66 44 73 65 67 122 67 119 68 44 69 65 65 75 112 69 44 83 65 65 85 89 44 71 65 65 99 86 44 71 65 67 116 66 44 69 65 73 68 99 44 69 65 67 74 53 73 44 71 65 65 81 74 44 75 65 65 77 103 74 44 69 65 65 87 102 44 71 65 65 77 55 72 44 71 65 65 81 74 44 75 65 65 77 103 74 44 69 65 65 87 100 44 71 65 67 49 68 44 69 65 71 101 44 69 65 65 86 121 72 44 71 65 65 101 44 69 65 65 73 44 75 65 71 112 66 120 81 44 69 65 113 112 66 82 44 73 65 65 77 117 67 44 75 65 108 112 66 78 48 75 44 69 65 65 75 106 70 44 81 65 65 85 44 83 65 65 85 48 73 44 69 65 65 77 67 44 71 65 67 57 66 44 79 65 65 79 49 68 44 69 65 65 77 121 68 44 69 65 65 77 44 75 65 65 77 44 75 65 65 77 67 44 73 65 71 104 67 49 68 44 69 65 65 75 50 68 44 103 66 65 65 107 66 44 83 65 65 85 47 77 44 69 65 65 77 54 77 44 71 65 71 116 67 44 71 65 70 65 108 69 44 69 65 65 97 51 73 44 71 65 69 82 107 71 44 73 65 67 72 81 44 69 65 65 119 66 109 71 44 69 65 65 79 44 81 65 67 55 66 49 71 44 73 65 65 99 65 44 69 65 65 85 110 67 44 75 65 65 77 54 73 44 73 65 69 106 67 44 73 65 67 67 44 73 65 65 73 108 77 44 69 65 65 77 119 68 44 69 65 65 81 110 72 44 75 65 65 77 103 68 44 69 65 65 77 54 77 44 71 65 71 57 66 44 71 65 65 75 108 77 44 71 65 65 79 104 68 44 71 65 65 81 115 79 44 109 66 65 73 108 66 106 77 44 69 65 65 75 55 68 44 85 65 65 117 67 44 75 65 65 51 66 54 68 44 69 65 65 75 55 68 44 83 65 65 83 50 66 44 83 65 67 104 67 44 79 65 65 79 54 67 44 69 65 69 80 44 77 65 65 81 117 73 44 71 65 67 84 120 67 44 69 65 65 119 66 109 71 44 71 65 65 77 44 71 65 73 104 67 44 79 65 65 117 68 44 69 65 65 104 68 122 68 44 69 65 65 77 121 68 44 69 65 65 77 49 81 44 69 65 65 85 44 75 65 65 77 44 67 65 65 69 54 68 44 73 65 65 83 70 44 81 65 71 47 67 115 74 44 69 65 65 75 112 69 44 83 65 65 87 44 83 65 65 85 116 70 44 69 65 65 83 77 44 71 65 85 108 67 44 79 65 72 79 78 44 69 65 65 81 111 69 44 101 65 65 105 66 112 69 44 73 65 65 97 118 68 44 71 65 67 53 67 119 77 44 69 65 65 97 106 74 44 71 65 69 80 70 44 71 65 65 79 119 70 44 83 65 65 85 116 70 44 69 65 65 83 77 44 73 65 73 108 67 111 74 44 69 65 65 75 52 68 44 75 65 65 79 44 83 65 65 85 104 78 44 69 65 65 77 67 44 73 65 79 112 66 68 44 69 65 65 75 56 68 44 101 65 65 105 66 57 68 44 73 65 65 85 55 68 44 71 65 67 116 67 119 77 44 69 65 65 97 51 73 44 71 65 71 100 44 73 65 65 73 76 44 69 65 65 75 109 71 44 69 65 65 75 109 72 44 87 65 65 89 104 78 44 69 65 65 75 67 44 101 65 71 57 66 118 66 44 69 65 65 77 103 66 44 71 65 65 77 112 67 44 71 65 65 79 80 44 75 65 65 77 56 73 44 69 65 65 75 109 72 44 87 65 65 89 104 78 44 69 65 65 75 67 44 101 65 67 57 67 80 44 69 65 65 73 75 44 69 65 65 77 67 44 71 65 65 79 105 71 44 81 65 67 106 66 49 68 44 69 65 69 70 44 89 65 65 97 65 44 73 65 65 82 55 68 44 69 65 67 71 65 44 69 65 71 68 113 66 44 69 65 65 75 106 66 44 97 65 65 99 107 66 44 73 65 71 51 66 109 74 44 69 65 65 75 116 71 44 77 65 65 81 44 83 65 65 85 67 44 71 65 67 116 66 44 77 65 65 77 44 73 65 65 73 49 71 44 77 65 65 79 44 48 67 65 65 52 67 48 71 44 73 65 79 57 68 118 68 44 71 65 65 79 48 78 44 87 65 65 97 44 83 65 65 85 49 74 44 71 65 67 55 66 44 73 65 65 73 120 68 44 69 65 67 72 109 78 44 69 65 65 97 44 71 65 67 98 122 76 44 69 65 65 73 44 69 65 67 74 104 68 44 69 65 65 73 44 69 65 87 76 44 71 65 74 65 117 72 44 71 65 65 103 66 116 73 44 71 65 65 81 121 80 44 87 65 67 120 66 112 72 44 71 65 65 97 114 73 44 71 65 65 81 121 80 44 89 65 65 99 118 81 44 71 65 65 77 71 44 75 65 65 77 119 71 44 69 65 65 83 44 71 65 67 120 68 53 66 44 71 65 65 75 53 69 44 75 65 65 77 119 71 44 69 65 65 83 109 68 44 71 65 69 102 86 44 69 65 65 101 44 67 65 67 110 66 44 77 65 65 85 106 71 44 69 65 65 79 119 68 44 69 65 65 83 57 69 44 75 65 67 112 66 115 66 44 73 65 65 83 119 68 44 69 65 65 83 57 69 44 75 65 67 116 66 103 68 44 69 65 65 73 121 76 44 69 65 65 87 104 81 44 75 65 65 77 117 66 44 73 65 71 118 66 44 77 65 65 81 103 68 44 73 65 67 80 71 44 71 65 65 79 55 69 44 75 65 65 77 119 71 44 69 65 65 83 50 74 44 69 65 65 89 122 76 44 71 65 65 75 44 71 65 81 122 67 44 79 65 70 65 115 69 44 69 65 65 89 44 75 65 69 76 120 67 44 71 65 71 82 104 69 44 71 65 65 79 71 44 71 65 65 71 117 78 44 87 65 65 97 44 87 65 67 116 66 44 79 65 65 79 51 81 44 75 65 65 75 107 69 44 85 65 65 87 106 66 44 71 65 65 79 48 78 44 87 65 65 89 114 81 44 71 65 65 77 75 44 77 65 65 79 88 44 85 65 71 120 68 117 74 44 69 65 65 79 116 71 44 71 65 65 79 113 78 44 75 65 65 79 44 67 65 71 112 66 104 67 44 89 65 65 97 44 71 65 69 98 119 67 44 97 65 65 99 116 67 44 69 65 69 100 118 66 44 77 65 65 79 108 67 44 69 65 69 80 50 70 44 87 65 65 89 44 71 65 69 90 55 68 44 75 65 65 77 44 71 65 69 78 107 69 44 83 65 65 85 44 67 65 67 84 67 44 73 65 65 75 44 67 65 65 69 120 69 44 73 65 65 75 44 97 65 65 99 55 72 44 79 65 65 79 44 71 65 67 106 67 115 77 44 73 65 65 75 44 67 65 65 69 122 69 44 73 65 65 75 44 99 65 67 90 48 69 44 73 65 65 75 44 67 65 65 69 49 69 44 73 65 65 75 44 107 66 65 65 109 66 55 72 44 79 65 65 79 44 71 65 67 116 67 119 77 44 73 65 65 75 44 67 65 65 69 51 69 44 73 65 65 75 44 111 66 65 71 98 52 69 44 85 65 65 87 44 67 65 67 86 106 71 44 75 65 65 77 44 83 65 65 85 56 66 44 71 65 87 102 44 79 65 86 65 65 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 71 65 65 73 53 71 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 71 53 67 111 66 44 69 65 65 79 44 73 65 65 81 65 44 69 65 65 79 44 73 65 65 79 65 44 69 65 65 79 44 73 65 65 79 65 44 69 65 65 79 44 73 65 65 79 44 73 65 67 118 68 53 71 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 69 70 44 79 65 65 102 111 66 44 69 65 65 79 44 75 65 67 88 65 44 69 65 65 79 44 71 65 65 77 44 73 65 65 77 65 44 69 65 65 79 44 71 65 65 77 44 75 65 71 49 66 65 44 69 65 65 77 51 77 44 77 65 65 79 44 69 65 65 71 44 73 65 71 120 66 43 75 44 77 65 65 79 44 83 65 65 85 52 66 44 71 65 107 67 104 66 44 79 65 116 66 65 65 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 71 65 65 73 116 74 44 99 65 69 85 44 81 65 65 55 66 115 74 44 69 65 65 79 44 71 65 65 73 51 77 44 77 65 65 79 44 69 65 65 71 44 73 65 71 110 66 50 77 44 69 65 65 79 44 73 65 67 90 74 44 69 65 65 75 116 71 44 77 65 65 79 48 71 44 69 65 65 79 44 73 65 75 112 66 65 44 69 65 65 79 44 75 65 65 83 65 44 69 65 65 79 44 71 65 67 116 66 65 44 69 65 65 79 44 73 65 65 81 65 44 69 65 65 79 44 73 65 65 79 44 71 65 67 55 66 44 71 65 65 113 66 44 83 65 65 102 65 44 69 65 65 79 44 73 65 65 105 67 44 81 65 65 102 65 44 69 65 65 79 44 75 65 69 118 67 65 44 69 65 65 79 44 75 65 65 87 65 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 73 65 65 119 66 44 81 65 65 102 65 44 69 65 65 79 44 75 65 71 51 67 65 44 69 65 65 79 44 73 65 67 108 66 74 44 69 65 65 75 116 71 44 77 65 65 79 48 71 44 69 65 65 79 44 73 65 71 98 65 44 71 65 71 82 55 66 44 79 65 65 81 44 83 65 65 85 54 66 44 71 65 67 106 66 44 73 65 65 73 111 69 44 69 65 67 72 67 44 71 65 65 89 114 69 44 69 65 65 79 44 73 65 65 79 65 44 69 65 65 79 44 71 65 69 108 67 44 79 65 65 75 108 67 44 69 65 65 85 77 44 77 65 65 77 53 68 44 75 65 65 77 119 70 44 69 65 65 79 44 73 65 67 49 66 44 77 65 73 72 65 44 69 65 65 79 44 71 65 67 88 65 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 73 65 65 79 65 44 69 65 65 79 44 73 65 65 79 44 71 65 71 57 66 113 69 44 71 65 65 89 122 71 44 69 65 65 81 112 68 44 75 65 65 77 54 74 44 75 65 71 110 67 68 44 69 65 65 83 122 68 44 69 65 65 85 48 68 44 71 65 65 85 44 77 65 71 55 66 68 44 69 65 65 83 67 44 69 65 65 83 122 81 44 81 65 65 83 44 73 65 65 75 121 81 44 69 65 65 83 47 78 44 79 65 65 83 56 78 44 71 65 65 87 67 44 69 65 65 83 47 78 44 85 65 71 120 69 48 74 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 71 65 65 73 51 77 44 77 65 65 79 44 69 65 65 71 43 81 44 71 65 67 108 67 112 69 44 69 65 65 79 44 71 65 65 77 113 69 44 69 65 65 83 104 82 44 77 65 65 79 44 69 65 65 71 43 81 44 73 65 73 49 66 112 69 44 69 65 65 77 51 77 44 77 65 65 79 44 69 65 65 71 44 77 65 73 122 66 117 80 44 79 65 65 81 44 67 65 69 80 51 69 44 73 65 65 75 44 83 65 65 85 113 71 44 71 65 67 100 44 73 65 65 73 67 44 69 65 65 109 66 68 44 69 65 65 105 66 108 76 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 65 89 108 73 44 99 65 67 120 69 44 77 65 65 52 66 44 77 65 65 114 66 52 78 44 69 65 67 78 44 87 65 67 67 44 79 65 65 79 44 71 65 69 82 44 83 65 65 85 57 78 44 71 65 67 84 44 79 65 65 79 68 44 71 65 65 85 67 44 69 65 65 77 43 78 44 75 65 73 49 66 118 71 44 77 65 65 79 44 83 65 65 85 103 70 44 71 65 67 104 66 44 73 65 65 73 119 66 44 69 65 65 85 49 72 44 69 65 65 89 107 71 44 69 65 65 89 44 75 65 69 116 67 44 79 65 65 79 119 66 44 73 65 67 74 65 44 69 65 65 85 44 73 65 65 73 106 74 44 79 65 65 81 44 77 65 65 81 70 44 71 65 65 97 44 73 65 65 77 50 72 44 69 65 67 108 68 44 73 65 65 77 51 72 44 71 65 65 97 44 83 65 67 112 66 121 66 44 69 65 65 89 107 71 44 69 65 65 87 44 83 65 65 85 120 77 44 71 65 67 104 67 44 79 65 65 79 103 79 44 69 65 65 81 104 75 44 75 65 67 89 44 105 66 65 65 110 66 104 69 44 69 65 65 75 119 77 44 87 65 65 48 66 120 77 44 69 65 65 75 119 77 44 87 65 67 98 44 111 66 65 65 116 66 120 77 44 69 65 65 75 106 66 44 99 65 67 88 105 66 44 69 65 65 75 106 66 44 97 65 65 99 44 85 65 67 112 66 44 79 65 75 76 50 73 44 75 65 65 77 44 83 65 65 85 122 72 44 69 65 65 77 103 79 44 69 65 65 85 67 44 71 65 67 47 66 44 79 65 65 79 44 83 65 65 85 108 79 44 71 65 67 104 66 44 73 65 65 73 109 79 44 69 65 65 83 47 69 44 69 65 65 75 52 68 44 75 65 65 77 104 78 44 69 65 65 77 67 44 71 65 69 57 66 44 79 65 65 101 44 77 65 65 86 107 79 44 69 65 67 103 66 44 79 65 65 98 70 44 71 65 69 70 65 44 73 65 73 78 69 44 71 65 65 85 44 71 65 69 81 44 77 65 65 98 70 44 69 65 67 71 69 44 73 65 65 87 68 44 69 65 69 68 44 79 65 65 98 68 44 69 65 67 71 69 44 73 65 65 87 68 44 69 65 69 68 44 79 65 65 98 68 44 69 65 67 71 67 44 71 65 65 113 67 44 73 65 65 53 66 67 44 69 65 65 79 47 81 44 81 65 65 83 56 81 44 71 65 69 102 44 79 65 65 98 68 44 69 65 67 71 67 44 73 65 65 111 67 44 69 65 65 51 66 67 44 69 65 65 79 47 81 44 81 65 65 83 56 81 44 71 65 69 102 44 79 65 65 98 68 44 69 65 67 71 67 44 71 65 65 83 67 44 69 65 65 79 116 82 44 79 65 65 81 113 82 44 69 65 65 77 112 79 44 85 65 65 97 111 79 44 69 65 69 106 67 44 79 65 65 98 68 44 71 65 69 107 66 44 71 65 68 98 44 73 65 65 77 69 44 69 65 65 79 118 76 44 81 65 65 83 111 69 44 69 65 65 97 44 75 65 65 81 44 75 65 67 108 68 53 74 44 81 65 65 83 56 81 44 71 65 69 77 44 79 65 65 98 68 44 73 65 67 71 69 44 73 65 65 87 68 44 71 65 65 83 67 44 69 65 65 79 116 82 44 77 65 65 79 44 69 65 65 71 113 82 44 69 65 65 77 112 79 44 79 65 65 83 44 75 65 65 81 111 79 44 69 65 65 81 44 81 65 79 57 69 116 71 44 77 65 65 79 44 83 65 65 85 49 74 44 69 65 65 77 107 81 44 69 65 65 77 67 44 69 65 65 87 110 78 44 69 65 65 79 69 44 71 65 67 57 67 44 73 65 65 73 107 78 44 69 65 65 103 67 44 81 65 65 118 66 112 81 44 69 65 65 75 114 66 44 77 65 65 79 44 69 65 65 71 44 71 65 67 51 66 48 82 44 69 65 65 43 66 44 83 65 65 114 66 114 81 44 69 65 65 75 114 66 44 79 65 65 81 44 71 65 67 118 66 50 82 44 69 65 65 107 66 44 89 65 65 84 74 44 69 65 69 86 44 79 65 65 105 66 44 73 65 65 86 108 78 44 71 65 65 119 66 44 73 65 65 84 69 44 69 65 71 114 66 44 83 65 65 85 112 66 44 71 65 67 84 44 81 65 65 83 65 44 69 65 65 75 98 44 89 65 71 102 44 83 65 65 85 97 44 69 65 65 77 121 79 44 69 65 65 85 67 44 71 65 67 122 66 44 73 65 65 73 47 68 44 69 65 65 79 103 69 44 69 65 65 89 110 81 44 69 65 65 77 111 81 44 69 65 65 87 67 44 69 65 67 118 67 57 70 44 69 65 65 77 117 70 44 73 65 65 87 67 44 69 65 65 85 44 99 65 65 103 66 44 107 66 65 67 51 67 79 44 69 65 65 83 57 79 44 69 65 65 75 98 44 87 65 67 100 99 44 69 65 65 79 117 79 44 71 65 65 85 120 79 44 69 65 65 75 68 44 83 65 65 83 71 44 99 65 67 47 66 54 79 44 71 65 65 89 76 44 73 65 65 81 70 44 69 65 67 112 66 81 44 71 65 65 79 44 69 65 69 82 44 71 65 65 75 70 44 69 65 65 83 44 67 65 71 98 44 71 65 65 75 82 44 69 65 65 83 44 67 65 67 98 44 77 65 65 81 118 70 44 69 65 65 77 44 67 65 67 98 118 75 44 69 65 65 79 119 66 44 69 65 67 80 44 77 65 65 85 120 66 44 69 65 65 79 65 44 69 65 65 77 117 75 44 71 65 67 116 66 44 71 65 65 75 121 70 44 69 65 67 74 122 79 44 71 65 65 85 118 66 44 69 65 65 77 121 66 44 71 65 67 69 44 73 65 65 108 66 122 66 44 69 65 65 75 86 44 83 65 69 76 44 79 65 65 79 44 69 65 75 84 43 81 44 69 65 65 81 57 70 44 69 65 65 101 44 83 65 65 84 55 75 44 73 65 65 111 66 50 81 44 71 65 65 83 44 99 65 69 53 67 44 79 65 65 79 44 69 65 77 82 44 71 65 72 65 65 44 69 65 65 81 44 67 65 65 69 78 44 69 65 65 85 79 44 69 65 65 79 71 44 87 65 65 97 72 44 69 65 65 79 73 44 87 65 71 49 67 88 44 71 65 65 87 81 44 69 65 65 87 44 67 65 77 49 66 67 44 71 65 68 65 74 44 71 65 68 65 106 69 44 71 65 68 65 103 69 44 69 65 65 97 71 44 69 65 65 81 114 77 44 75 65 65 101 113 77 44 69 65 65 81 114 77 44 71 65 65 89 44 75 65 67 112 67 118 69 44 73 65 65 85 44 73 65 67 88 44 75 65 65 81 107 73 44 71 65 65 87 117 69 44 69 65 65 79 44 75 65 67 122 66 65 44 69 65 65 79 44 71 65 67 51 66 110 77 44 69 65 65 79 111 81 44 71 65 65 97 69 44 69 65 65 79 55 70 44 87 65 65 89 50 70 44 71 65 69 118 67 44 77 65 65 85 112 81 44 73 65 65 83 111 81 44 71 65 65 97 112 81 44 71 65 65 81 65 44 69 65 65 77 117 75 44 75 65 71 51 67 105 71 44 69 65 65 79 74 44 69 65 65 89 44 73 65 65 79 67 44 69 65 65 77 106 75 44 77 65 71 108 67 44 71 65 65 117 66 44 73 65 65 108 66 112 71 44 69 65 65 75 86 44 89 65 65 111 66 107 82 44 71 65 65 81 120 81 44 73 65 65 83 119 66 44 69 65 65 79 44 67 65 67 114 68 50 79 44 69 65 65 89 122 81 44 71 65 65 83 44 67 65 65 69 107 73 44 69 65 65 83 119 73 44 69 65 65 87 73 44 71 65 67 51 67 44 89 65 103 66 70 44 71 65 84 75 68 44 73 65 73 74 67 44 69 65 68 65 74 44 71 65 68 65 106 69 44 71 65 68 65 103 69 44 69 65 65 97 51 79 44 69 65 65 77 121 67 44 75 65 65 101 122 67 44 69 65 65 77 121 67 44 71 65 65 89 44 75 65 67 104 67 118 69 44 73 65 65 85 44 73 65 67 88 44 75 65 65 81 107 73 44 71 65 65 87 117 69 44 69 65 65 79 44 75 65 77 104 67 44 73 65 65 84 113 69 44 69 65 71 74 44 77 65 65 85 120 81 44 73 65 65 83 111 81 44 71 65 65 97 112 81 44 71 65 65 81 65 44 69 65 65 77 117 75 44 75 65 67 51 67 105 71 44 69 65 65 79 74 44 69 65 65 89 44 73 65 65 79 67 44 69 65 65 77 106 75 44 77 65 69 108 67 44 73 65 65 79 52 74 44 69 65 67 78 122 79 44 71 65 65 85 118 66 44 69 65 65 77 121 66 44 71 65 67 69 44 73 65 65 108 66 122 66 44 69 65 65 75 86 44 97 65 67 72 107 82 44 73 65 71 71 68 44 75 65 67 74 74 44 69 65 65 97 110 81 44 69 65 65 77 105 69 44 75 65 67 104 66 106 69 44 69 65 65 77 105 69 44 71 65 65 89 44 75 65 67 84 118 69 44 71 65 65 83 44 67 65 65 69 107 73 44 69 65 65 83 52 73 44 73 65 71 53 66 120 81 44 73 65 65 83 119 66 44 71 65 67 98 44 77 65 83 76 44 79 65 68 65 103 80 44 71 65 65 81 53 78 44 75 65 67 81 70 44 71 65 65 87 56 78 44 69 65 65 79 57 78 44 71 65 65 85 44 71 65 65 113 66 44 71 65 65 104 66 56 78 44 69 65 65 79 57 78 44 75 65 75 53 68 121 71 44 79 65 65 81 44 83 65 65 85 119 72 44 69 65 65 81 53 68 44 71 65 77 122 66 44 73 65 65 73 54 68 44 69 65 67 72 122 80 44 69 65 65 75 109 71 44 69 65 65 75 105 66 44 81 65 65 83 111 73 44 73 65 65 89 114 74 44 69 65 65 75 117 74 44 87 65 65 89 70 44 69 65 65 79 106 80 44 103 66 65 67 116 68 107 74 44 69 65 65 75 116 71 44 77 65 65 79 44 117 66 65 65 121 66 113 77 44 71 65 75 118 67 44 79 65 65 75 120 80 44 69 65 65 73 56 67 44 71 65 67 68 57 67 44 69 65 65 73 52 76 44 71 65 73 75 44 69 65 65 90 53 76 44 69 65 65 71 71 44 81 65 67 80 115 80 44 69 65 65 79 44 67 65 65 69 68 44 69 65 65 81 65 44 69 65 65 81 44 71 65 65 73 53 68 44 71 65 67 116 66 122 70 44 69 65 65 75 117 74 44 87 65 65 87 55 82 44 101 65 65 103 66 50 82 44 69 65 65 79 106 80 44 101 65 67 55 67 54 75 44 69 65 65 99 44 83 65 65 85 49 66 44 69 65 65 77 108 70 44 71 65 67 55 66 44 73 65 65 73 109 76 44 69 65 67 72 67 44 69 65 65 85 53 80 44 69 65 65 73 48 74 44 69 65 65 77 107 67 44 71 65 67 112 66 55 77 44 69 65 65 73 54 81 44 69 65 65 81 122 80 44 79 65 67 98 44 77 65 65 81 112 66 44 73 65 69 80 50 75 44 69 65 68 65 105 71 44 69 65 65 77 108 83 44 71 65 65 81 74 44 75 65 65 77 113 77 44 69 65 65 77 107 71 44 69 65 65 83 55 81 44 79 65 67 108 66 121 70 44 69 65 65 83 109 76 44 71 65 65 81 67 44 69 65 65 83 55 81 44 77 65 71 55 67 44 83 65 65 85 115 66 44 71 65 67 84 44 79 65 65 79 76 44 69 65 65 73 75 44 69 65 65 77 44 69 65 65 71 111 80 44 75 65 73 104 66 122 80 44 73 65 73 84 111 72 44 81 65 65 83 44 67 65 71 82 121 73 44 73 65 65 75 122 69 44 69 65 65 99 44 83 65 65 85 116 76 44 71 65 75 53 66 44 73 65 65 73 103 78 44 69 65 65 81 44 71 65 67 88 106 74 44 69 65 65 85 44 71 65 67 86 105 77 44 69 65 65 85 67 44 71 65 65 83 106 81 44 69 65 65 83 109 68 44 81 65 65 83 107 67 44 71 65 65 85 44 79 65 69 104 68 44 79 65 65 79 50 75 44 69 65 65 83 104 78 44 71 65 67 102 115 73 44 69 65 65 99 44 83 65 65 85 49 66 44 69 65 65 77 108 70 44 69 65 65 83 115 75 44 69 65 65 85 67 44 71 65 67 104 68 44 73 65 65 73 49 79 44 69 65 67 72 50 80 44 69 65 65 89 70 44 69 65 65 83 112 71 44 69 65 65 77 44 75 65 65 77 113 70 44 69 65 65 75 44 73 65 67 116 67 104 81 44 69 65 65 73 50 75 44 69 65 65 75 118 74 44 79 65 71 86 44 77 65 65 81 112 66 44 75 65 67 65 115 66 44 69 65 65 79 50 80 44 69 65 65 87 106 82 44 77 65 67 120 66 50 75 44 69 65 65 77 51 75 44 75 65 65 83 121 70 44 69 65 65 83 122 70 44 71 65 65 77 115 66 44 77 65 73 106 67 44 83 65 65 85 65 44 69 65 65 77 121 79 44 69 65 65 85 67 44 71 65 79 122 66 44 79 65 78 65 106 67 44 69 65 65 79 44 71 65 65 77 122 77 44 69 65 67 98 121 80 44 69 65 65 83 104 68 44 69 65 65 79 44 75 65 65 77 105 67 44 69 65 65 75 108 76 44 71 65 73 51 66 105 74 44 69 65 65 79 44 71 65 65 77 44 77 65 67 76 106 74 44 69 65 65 81 111 66 44 83 65 73 110 66 103 76 44 73 65 65 75 55 69 44 69 65 65 99 44 83 65 65 85 116 76 44 71 65 67 53 66 44 79 65 65 79 44 83 65 65 85 79 44 71 65 67 104 66 44 79 65 65 117 67 44 69 65 65 104 67 111 74 44 69 65 65 77 51 74 44 69 65 65 85 79 44 71 65 65 79 70 44 85 65 73 104 67 107 70 44 83 65 65 85 43 70 44 69 65 65 99 44 83 65 65 85 106 77 44 71 65 69 106 67 44 79 65 68 65 65 44 69 65 65 79 65 44 69 65 65 75 56 68 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 67 122 66 44 83 65 65 85 112 73 44 71 65 67 104 66 44 79 65 65 115 69 44 71 65 65 55 68 65 44 69 65 65 75 113 68 44 97 65 65 101 55 68 44 71 65 65 79 86 44 75 65 65 77 107 66 44 73 65 65 83 53 67 44 81 65 65 83 48 66 44 77 65 87 57 68 43 81 44 75 65 65 77 57 69 44 69 65 65 99 44 83 65 65 85 56 69 44 71 65 79 55 66 44 79 65 74 77 120 73 44 69 65 65 89 114 68 44 75 65 65 77 54 76 44 71 65 65 81 44 75 65 67 47 66 122 71 44 69 65 65 75 116 71 44 77 65 65 79 44 113 66 65 65 117 66 43 77 44 71 65 69 112 67 65 44 69 65 65 79 65 44 69 65 65 75 106 78 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 65 89 108 73 44 99 65 67 114 67 44 83 65 65 85 70 44 71 65 67 104 66 44 73 65 65 73 56 80 44 69 65 67 74 44 71 65 67 67 44 71 65 65 79 65 44 69 65 65 87 53 74 44 69 65 67 106 66 108 71 44 69 65 65 75 54 80 44 75 65 67 76 55 80 44 69 65 65 75 106 66 44 97 65 65 99 44 97 65 65 103 66 105 66 44 69 65 65 75 106 66 44 97 65 65 99 44 81 65 71 116 68 44 79 65 68 65 43 81 44 69 65 65 87 65 44 69 65 65 83 53 80 44 105 66 65 67 65 50 80 44 71 65 65 50 67 44 73 65 65 110 67 67 44 69 65 65 83 49 83 44 81 65 65 83 121 83 44 69 65 65 79 44 89 65 69 51 67 55 80 44 69 65 65 79 65 44 69 65 65 75 98 44 97 65 65 107 67 44 73 65 65 108 66 97 44 69 65 65 75 108 67 44 85 65 67 55 67 44 79 65 65 79 44 75 65 75 84 113 69 44 79 65 65 81 44 83 65 65 85 110 67 44 71 65 67 106 66 44 73 65 65 73 43 80 44 69 65 65 79 122 84 44 71 65 65 79 48 84 44 85 65 65 89 49 84 44 71 65 65 79 48 84 44 83 65 65 83 68 44 75 65 67 57 67 44 79 65 65 79 65 44 71 65 65 81 65 44 69 65 65 75 108 84 44 77 65 65 79 44 75 65 65 81 109 68 44 69 65 65 75 56 74 44 73 65 71 122 67 109 71 44 75 65 65 77 44 83 65 65 85 106 81 44 71 65 67 102 44 79 65 65 79 65 44 73 65 65 83 43 68 44 71 65 71 106 66 109 77 44 77 65 65 79 44 83 65 65 85 108 81 44 71 65 67 104 66 44 79 65 65 79 65 44 73 65 118 111 67 86 44 87 65 67 67 44 73 65 67 67 44 79 65 65 79 55 68 44 69 65 65 83 103 85 44 99 65 67 102 44 77 65 65 81 67 44 75 65 111 111 67 81 67 44 73 65 67 102 108 85 44 69 65 65 83 109 85 44 101 65 67 76 116 81 44 69 65 65 75 57 66 44 77 65 65 81 56 66 44 69 65 65 75 117 81 44 79 65 65 83 118 81 44 69 65 65 75 119 81 44 87 65 73 116 67 67 44 81 65 65 83 114 70 44 71 65 65 115 66 44 71 65 67 47 66 116 67 44 83 65 65 85 115 67 44 71 65 65 115 66 44 71 65 69 104 67 115 70 44 81 65 65 83 44 83 65 65 85 49 81 44 71 65 73 108 66 44 79 65 65 83 68 44 71 65 65 85 67 44 69 65 65 77 44 89 65 65 101 65 44 69 65 65 75 48 81 44 83 65 67 49 67 51 81 44 71 65 65 85 67 44 69 65 65 77 44 97 65 65 103 66 65 44 69 65 65 75 50 81 44 85 65 71 122 67 65 44 83 65 65 85 44 83 65 65 85 51 81 44 71 65 87 110 66 44 79 65 76 75 65 44 69 65 65 75 98 44 89 65 69 84 97 44 69 65 65 75 98 44 87 65 65 87 121 82 44 101 65 71 81 44 73 65 65 108 66 53 81 44 69 65 65 75 50 81 44 85 65 73 98 69 44 77 65 65 79 44 83 65 65 85 55 81 44 71 65 77 104 66 44 73 65 65 77 65 44 69 65 65 79 65 44 69 65 65 75 105 80 44 87 65 65 89 106 80 44 69 65 65 77 65 44 69 65 65 79 65 44 69 65 65 75 56 81 44 89 65 67 47 67 44 71 65 65 75 57 81 44 69 65 65 75 108 67 44 83 65 65 87 44 69 65 67 112 66 44 79 65 65 79 44 69 65 71 84 44 79 65 65 79 44 71 65 71 82 103 82 44 79 65 65 81 44 83 65 65 85 57 79 44 71 65 67 106 66 44 79 65 65 81 56 70 44 69 65 65 75 105 66 44 81 65 65 81 56 74 44 77 65 65 79 55 81 44 73 65 73 55 66 43 81 44 79 65 65 81 44 83 65 65 85 47 81 44 71 65 67 106 66 44 79 65 65 79 103 73 44 69 65 65 81 104 69 44 75 65 65 77 104 69 44 69 65 65 75 68 44 87 65 71 51 66 48 77 44 77 65 65 79 44 83 65 65 85 122 77 44 71 65 67 104 66 44 79 65 65 79 43 72 44 69 65 65 81 47 68 44 75 65 65 77 104 69 44 69 65 65 75 68 44 87 65 71 51 66 105 82 44 79 65 65 81 44 83 65 65 85 104 82 44 71 65 67 106 66 44 79 65 65 79 68 44 71 65 65 85 67 44 69 65 65 77 44 85 65 65 50 66 44 87 65 65 100 65 44 69 65 65 75 57 66 44 77 65 67 120 67 54 66 44 71 65 65 85 67 44 69 65 65 77 44 87 65 71 108 66 108 66 44 75 65 65 77 44 83 65 65 85 107 66 44 71 65 67 102 44 73 65 65 73 103 78 44 69 65 67 74 44 79 65 65 79 106 78 44 71 65 65 85 67 44 69 65 65 77 44 85 65 65 50 66 44 83 65 65 100 65 44 69 65 65 75 57 66 44 79 65 75 73 44 79 65 65 120 67 56 79 44 69 65 65 79 104 78 44 69 65 65 75 106 66 44 97 65 65 99 44 85 65 67 78 44 83 65 65 118 66 105 79 44 69 65 65 75 57 77 44 103 66 65 73 82 103 66 44 77 65 65 79 111 75 44 69 65 65 119 66 44 87 65 67 57 66 44 77 65 65 79 44 67 65 65 69 44 75 65 71 86 108 75 44 75 65 65 77 107 75 44 69 65 65 119 66 44 83 65 65 85 50 70 44 69 65 65 101 110 82 44 71 65 67 116 68 44 77 65 65 79 44 67 65 65 69 65 44 69 65 65 83 44 75 65 71 110 66 113 66 44 71 65 65 73 109 75 44 69 65 65 119 66 44 83 65 65 85 50 70 44 69 65 65 101 110 82 44 69 65 65 81 121 76 44 71 65 67 53 68 44 77 65 65 79 44 67 65 65 69 65 44 69 65 65 87 44 69 65 65 73 65 44 69 65 65 87 122 76 44 69 65 65 83 121 76 44 75 65 71 55 67 108 75 44 75 65 65 77 105 75 44 69 65 65 119 66 44 83 65 65 85 69 44 69 65 65 99 49 76 44 71 65 69 114 68 44 73 65 68 65 44 73 65 65 73 112 66 44 69 65 65 73 44 69 65 67 65 65 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 71 65 65 75 44 69 65 67 120 66 56 77 44 69 65 65 97 114 79 44 75 65 65 77 117 66 44 71 65 69 112 66 44 79 65 65 79 56 77 44 73 65 71 82 104 75 44 73 65 65 75 56 74 44 69 65 65 119 66 44 83 65 65 85 69 44 69 65 65 99 49 76 44 71 65 69 112 68 44 73 65 68 65 44 73 65 65 73 112 66 44 69 65 65 73 44 69 65 67 65 65 44 69 65 65 73 111 66 44 69 65 65 81 112 66 44 71 65 65 75 44 69 65 67 120 66 56 77 44 69 65 65 97 114 79 44 75 65 65 77 117 66 44 71 65 69 112 66 44 79 65 65 79 56 77 44 73 65 71 82 48 70 44 71 65 65 73 53 70 44 69 65 65 119 66 44 83 65 65 85 69 44 69 65 65 99 49 76 44 69 65 65 81 121 76 44 71 65 67 51 68 44 73 65 65 73 55 77 44 69 65 85 74 44 73 65 80 67 65 44 69 65 68 73 54 77 44 69 65 65 87 44 69 65 67 88 65 44 69 65 65 87 122 76 44 69 65 67 79 65 44 69 65 65 88 121 76 44 69 65 67 80 122 76 44 69 65 69 65 121 76 44 69 65 71 85 44 75 65 65 76 55 77 44 71 65 67 84 56 77 44 69 65 65 97 114 79 44 75 65 65 77 117 66 44 71 65 69 112 66 44 79 65 65 79 56 77 44 73 65 71 82 50 70 44 71 65 65 73 55 70 44 69 65 65 119 66 44 83 65 65 85 69 44 69 65 65 99 49 76 44 69 65 65 81 121 76 44 71 65 69 51 68 44 73 65 68 65 44 73 65 65 73 55 77 44 69 65 65 73 54 77 44 69 65 65 87 44 69 65 65 73 65 44 69 65 65 87 122 76 44 69 65 65 83 121 76 44 73 65 67 106 67 55 77 44 69 65 65 73 111 66 44 71 65 67 98 48 76 44 69 65 65 97 114 79 44 75 65 65 77 117 66 44 71 65 69 112 66 44 79 65 65 79 56 77 44 79 65 75 76 122 69 44 81 65 65 81 113 75 44 73 65 65 77 116 76 44 69 65 65 75 105 66 44 81 65 65 81 53 70 44 71 65 71 114 66 44 67 65 65 69 107 81 44 79 65 65 79 44 69 65 65 77 67 44 85 65 65 85 44 69 65 65 77 67 44 77 65 65 77 44 69 65 65 77 67 44 85 65 65 85 44 69 65 65 77 67 44 79 65 65 79 44 71 65 67 53 69 51 76 44 69 65 65 75 105 66 44 81 65 65 83 114 73 44 71 65 65 77 119 77 44 69 65 65 109 66 120 77 44 71 65 69 120 67 44 73 65 65 77 65 44 73 65 65 75 44 67 65 65 69 103 84 44 81 65 65 81 44 69 65 65 77 67 44 79 65 65 79 44 71 65 67 106 67 55 76 44 69 65 65 75 105 66 44 81 65 65 83 114 73 44 71 65 65 77 121 77 44 69 65 65 111 66 122 77 44 71 65 73 122 67 44 83 65 65 83 50 81 44 75 65 73 84 44 83 65 65 83 108 70 44 69 65 65 85 49 75 44 69 65 65 85 109 83 44 71 65 67 53 66 44 73 65 65 73 114 67 44 69 65 65 83 47 70 44 69 65 65 79 113 73 44 69 65 65 81 51 84 44 69 65 67 51 66 52 84 44 69 65 65 79 114 73 44 69 65 65 81 115 73 44 69 65 67 102 67 44 69 65 65 83 120 76 44 69 65 65 89 47 71 44 69 65 65 87 44 75 65 69 106 67 44 71 65 65 75 117 83 44 69 65 67 74 44 79 65 65 79 74 44 69 65 65 89 44 69 65 65 73 73 44 69 65 65 79 110 86 44 77 65 65 79 44 71 65 71 116 67 105 86 44 69 65 65 81 114 83 44 69 65 67 82 103 75 44 69 65 65 83 44 71 65 67 84 115 73 44 69 65 65 97 106 77 44 69 65 65 75 54 72 44 85 65 69 108 66 44 77 65 65 81 109 69 44 69 65 65 81 44 67 65 50 66 102 44 73 65 65 77 53 84 44 75 65 120 66 65 113 82 44 75 65 65 97 47 70 44 69 65 65 81 118 67 44 69 65 65 79 50 67 44 75 65 65 77 107 73 44 77 65 67 108 67 116 73 44 73 65 71 74 115 73 44 69 65 65 81 65 44 69 65 65 77 106 86 44 77 65 65 79 50 77 44 69 65 65 79 44 71 65 65 73 49 74 44 83 65 65 89 103 83 44 71 65 69 55 67 114 73 44 69 65 65 79 116 77 44 75 65 65 81 48 85 44 69 65 65 83 44 75 65 71 122 66 116 67 44 71 65 65 85 44 71 65 71 72 47 70 44 69 65 65 81 116 67 44 69 65 65 109 66 48 67 44 75 65 65 77 107 73 44 77 65 67 118 67 118 67 44 69 65 65 85 47 70 44 69 65 65 77 115 66 44 81 65 67 104 66 43 71 44 69 65 65 79 49 85 44 75 65 65 77 44 67 65 67 90 109 72 44 77 65 65 79 105 76 44 69 65 71 80 114 82 44 75 65 65 77 115 76 44 69 65 65 79 44 71 65 65 73 53 71 44 81 65 65 83 107 67 44 71 65 65 85 44 79 65 69 114 67 103 78 44 69 65 65 81 65 44 69 65 65 77 106 86 44 77 65 65 79 48 83 44 69 65 65 81 122 80 44 83 65 73 104 66 103 71 44 69 65 65 75 115 71 44 83 65 67 88 53 67 44 69 65 65 81 108 67 44 69 65 65 87 112 74 44 71 65 65 79 48 76 44 75 65 65 77 107 73 44 75 65 65 103 66 67 44 69 65 65 89 55 84 44 77 65 67 104 69 115 76 44 69 65 65 81 117 73 44 69 65 65 89 55 84 44 71 65 65 81 115 76 44 77 65 67 57 66 43 70 44 69 65 65 85 47 70 44 69 65 65 77 115 66 44 81 65 67 104 66 43 71 44 69 65 65 79 49 85 44 75 65 65 77 44 67 65 67 90 109 72 44 77 65 65 79 105 76 44 69 65 67 80 114 82 44 75 65 65 77 65 44 69 65 67 78 105 71 44 81 65 65 83 113 70 44 73 65 69 86 115 73 44 69 65 65 81 65 44 69 65 65 77 106 86 44 77 65 65 79 48 83 44 69 65 65 81 122 80 44 83 65 73 47 66 44 73 65 65 77 121 80 44 69 65 67 76 44 77 65 79 70 44 79 65 65 75 113 67 44 69 65 67 71 69 44 69 65 65 77 104 83 44 79 65 71 80 103 83 44 69 65 67 78 49 73 44 69 65 65 75 116 71 44 77 65 65 79 114 68 44 71 65 71 90 43 71 44 69 65 65 89 47 71 44 69 65 65 85 103 75 44 71 65 65 83 53 77 44 77 65 65 79 44 71 65 71 120 67 44 83 65 65 83 117 78 44 69 65 65 89 121 72 44 71 65 73 112 66 44 73 65 72 65 44 73 65 65 73 110 84 44 69 65 65 73 44 69 65 67 80 43 67 44 69 65 65 77 111 81 44 69 65 65 79 47 82 44 79 65 67 98 76 44 69 65 65 87 44 71 65 67 74 102 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 104 66 101 44 71 65 65 89 111 83 44 69 65 65 81 110 84 44 71 65 65 73 52 70 44 77 65 69 122 66 44 79 65 65 79 55 69 44 69 65 71 82 44 83 65 65 83 111 74 44 69 65 65 101 52 71 44 69 65 65 83 119 67 44 69 65 65 89 67 44 71 65 67 53 67 44 73 65 65 73 110 74 44 69 65 65 77 107 74 44 69 65 65 87 108 74 44 73 65 67 112 66 111 74 44 69 65 65 79 70 44 69 65 65 87 106 74 44 75 65 67 108 66 52 66 44 69 65 65 77 117 72 44 71 65 65 81 112 74 44 69 65 67 100 113 74 44 69 65 65 109 66 70 44 71 65 65 103 66 44 101 65 65 82 116 72 44 69 65 67 51 66 121 72 44 69 65 65 87 104 77 44 73 65 69 90 44 79 65 65 79 52 76 44 69 65 65 87 47 81 44 77 65 71 106 66 44 83 65 65 85 108 66 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 120 66 44 77 65 65 85 49 79 44 69 65 65 79 65 44 69 65 65 77 43 73 44 71 65 67 116 66 44 71 65 65 117 66 44 73 65 65 108 66 47 73 44 69 65 65 75 108 67 44 85 65 65 107 66 115 85 44 69 65 67 51 66 44 79 65 65 79 51 67 44 69 65 65 83 122 80 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 71 106 67 44 79 65 65 79 44 71 65 73 82 44 83 65 65 85 49 79 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 120 66 44 73 65 65 73 52 68 44 69 65 65 85 51 68 44 69 65 67 98 52 68 44 69 65 65 87 44 67 65 65 69 110 77 44 69 65 65 83 105 77 44 71 65 71 118 66 44 71 65 65 75 51 68 44 71 65 67 74 44 77 65 65 85 49 79 44 69 65 65 79 65 44 69 65 65 77 43 73 44 71 65 67 116 66 44 73 65 65 117 66 44 73 65 65 108 66 47 73 44 69 65 65 75 108 67 44 85 65 65 107 66 115 85 44 73 65 67 116 66 51 67 44 69 65 65 83 122 80 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 53 66 44 79 65 65 79 44 79 65 75 86 44 77 65 65 85 49 79 44 69 65 65 79 65 44 69 65 65 77 43 73 44 71 65 67 116 66 44 71 65 65 117 66 44 73 65 65 108 66 47 73 44 69 65 65 75 108 67 44 85 65 65 107 66 115 85 44 69 65 71 51 66 44 71 65 70 65 122 68 44 69 65 65 97 51 79 44 69 65 65 77 121 67 44 75 65 65 101 122 67 44 69 65 65 77 121 67 44 71 65 65 89 44 73 65 69 47 67 48 80 44 71 65 65 81 112 83 44 71 65 65 85 67 44 69 65 65 77 109 83 44 71 65 67 53 66 110 83 44 69 65 65 79 65 44 69 65 65 77 43 73 44 73 65 65 83 47 73 44 77 65 67 104 66 44 67 65 65 65 44 73 65 65 79 115 83 44 69 65 65 87 51 68 44 69 65 65 89 47 68 44 75 65 67 112 67 48 72 44 69 65 65 85 44 75 65 65 81 108 77 44 71 65 65 87 107 77 44 69 65 65 85 44 75 65 65 81 68 44 69 65 71 47 67 44 79 65 65 83 69 44 69 65 65 85 44 71 65 65 77 68 44 69 65 65 85 44 71 65 79 110 67 44 73 65 72 65 51 68 44 69 65 65 89 47 68 44 71 65 65 81 50 72 44 71 65 71 72 44 71 65 65 77 57 67 44 69 65 65 83 122 80 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 57 67 44 79 65 65 79 44 69 65 77 90 44 79 65 65 79 44 71 65 73 86 44 83 65 65 83 56 68 44 69 65 65 103 66 67 44 71 65 67 120 66 44 79 65 65 121 66 44 69 65 65 108 66 65 44 69 65 65 83 51 83 44 79 65 67 102 44 83 65 65 85 69 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 120 66 44 73 65 65 73 104 81 44 69 65 65 73 43 84 44 69 65 65 83 51 83 44 79 65 67 106 66 44 77 65 65 81 112 66 44 73 65 67 80 44 73 65 65 77 43 84 44 69 65 65 85 47 84 44 71 65 65 75 115 66 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 110 67 44 79 65 65 79 44 69 65 71 84 44 79 65 65 79 44 71 65 69 82 43 68 44 69 65 65 85 44 71 65 89 90 44 83 65 65 83 67 44 69 65 65 85 47 67 44 69 65 65 87 51 79 44 69 65 65 75 111 76 44 69 65 65 81 49 77 44 69 65 65 83 103 80 44 71 65 79 110 68 44 73 65 78 65 44 73 65 65 73 49 79 44 69 65 67 72 50 83 44 69 65 65 101 44 71 65 67 102 106 85 44 69 65 65 73 44 69 65 67 74 43 67 44 69 65 65 77 107 79 44 69 65 65 85 55 80 44 79 65 67 104 66 56 83 44 69 65 65 103 66 44 77 65 65 80 53 82 44 69 65 69 70 116 67 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 75 65 67 84 115 66 44 69 65 65 79 50 80 44 69 65 65 87 106 82 44 77 65 67 108 66 48 78 44 73 65 65 85 65 44 69 65 65 81 112 77 44 69 65 65 77 78 44 69 65 65 83 103 80 44 75 65 67 116 67 105 69 44 69 65 65 97 120 86 44 75 65 65 77 54 67 44 71 65 67 100 52 83 44 71 65 67 74 53 82 44 69 65 65 73 55 68 44 75 65 65 77 117 66 44 75 65 77 100 44 79 65 65 79 105 85 44 69 65 71 82 44 83 65 65 83 69 44 71 65 65 89 108 70 44 69 65 65 87 108 79 44 69 65 65 85 103 81 44 69 65 65 83 113 68 44 69 65 65 89 67 44 69 65 65 89 67 44 71 65 79 49 69 44 79 65 78 75 70 44 73 65 65 101 65 44 69 65 65 89 114 81 44 75 65 67 47 66 113 81 44 69 65 65 97 68 44 71 65 65 89 67 44 73 65 69 114 66 67 44 73 65 65 101 65 44 69 65 65 89 116 81 44 75 65 67 47 66 115 81 44 69 65 65 97 70 44 71 65 65 89 69 44 69 65 65 89 67 44 73 65 69 47 66 106 73 44 69 65 65 99 44 83 65 65 85 49 66 44 69 65 65 77 55 70 44 69 65 65 83 57 68 44 69 65 65 83 103 80 44 71 65 67 116 68 44 73 65 65 73 117 69 44 69 65 65 77 118 85 44 69 65 65 71 115 66 44 69 65 65 77 107 84 44 69 65 67 108 66 67 44 69 65 65 83 44 71 65 67 84 67 44 69 65 65 85 44 71 65 67 86 67 44 69 65 65 99 55 80 44 69 65 65 81 49 68 44 79 65 71 116 66 89 44 69 65 65 81 50 73 44 71 65 53 67 88 44 83 65 65 50 66 53 74 44 69 65 65 85 54 84 44 69 65 65 85 57 80 44 71 65 71 57 67 44 73 65 70 65 44 73 65 65 73 57 69 44 69 65 65 73 44 69 65 67 80 43 67 44 69 65 65 77 54 82 44 69 65 65 83 120 84 44 79 65 67 82 112 66 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 104 66 48 75 44 69 65 65 77 51 74 44 69 65 65 85 54 84 44 69 65 65 85 53 85 44 71 65 65 75 56 69 44 71 65 69 104 67 44 79 65 65 79 65 44 69 65 117 67 74 43 80 44 67 65 65 107 66 57 84 44 71 65 65 89 44 73 65 67 55 66 67 44 69 65 65 81 53 66 44 83 65 65 87 44 67 65 65 69 52 66 44 71 65 65 89 65 44 69 65 65 83 44 73 65 71 53 67 56 84 44 71 65 65 89 55 70 44 73 65 65 101 116 69 44 71 65 65 83 53 74 44 69 65 69 110 67 105 66 44 69 65 68 65 103 83 44 69 65 65 85 104 83 44 69 65 65 79 121 83 44 69 65 65 81 120 70 44 69 65 65 87 106 79 44 69 65 65 83 103 80 44 71 65 115 66 47 67 44 71 65 110 66 75 101 44 69 65 97 74 65 44 69 65 65 83 43 68 44 69 65 84 84 78 44 69 65 65 97 72 44 73 65 65 103 66 49 74 44 69 65 65 79 115 69 44 69 65 65 89 48 70 44 71 65 65 101 80 44 71 65 71 57 68 44 71 65 71 65 116 80 44 69 65 71 43 66 57 68 44 69 65 65 83 103 80 44 71 65 69 122 67 119 69 44 69 65 65 97 77 44 69 65 73 84 86 44 69 65 65 97 44 67 65 67 106 66 71 44 69 65 65 79 80 44 69 65 65 85 81 44 69 65 65 89 69 44 71 65 67 55 66 78 44 69 65 65 89 71 44 69 65 65 77 44 71 65 65 73 118 84 44 69 65 65 83 103 80 44 71 65 71 47 66 104 81 44 69 65 65 73 117 85 44 69 65 65 75 110 84 44 79 65 67 84 44 77 65 65 81 112 66 44 75 65 67 65 115 66 44 69 65 65 79 105 84 44 69 65 65 77 118 85 44 77 65 67 110 66 119 85 44 69 65 65 89 69 44 69 65 65 83 49 85 44 77 65 65 87 56 85 44 69 65 65 87 74 44 69 65 65 83 49 85 44 73 65 65 81 115 66 44 73 65 75 47 68 44 71 65 65 75 113 74 44 71 65 67 74 44 71 65 65 75 48 74 44 71 65 65 99 112 70 44 69 65 65 89 44 67 65 67 57 66 44 71 65 65 75 111 70 44 69 65 65 97 44 67 65 71 106 66 69 44 69 65 65 79 44 71 65 67 80 118 85 44 69 65 65 73 119 85 44 69 65 65 87 112 84 44 79 65 67 102 44 77 65 65 81 112 66 44 75 65 67 65 115 66 44 69 65 65 79 107 84 44 69 65 65 89 120 85 44 75 65 71 122 66 117 85 44 69 65 65 75 57 86 44 75 65 65 81 113 87 44 69 65 65 87 57 85 44 71 65 65 77 115 66 44 71 65 71 104 67 43 83 44 69 65 65 89 44 75 65 65 81 71 44 69 65 65 97 44 71 65 65 77 68 44 69 65 65 77 118 69 44 71 65 73 57 67 104 81 44 69 65 65 73 119 85 44 69 65 65 87 112 84 44 79 65 67 102 44 77 65 65 81 112 66 44 75 65 67 65 115 66 44 69 65 65 79 107 84 44 69 65 65 89 120 85 44 77 65 67 50 67 44 71 65 65 108 69 117 85 44 69 65 65 79 70 44 69 65 65 97 51 86 44 71 65 65 81 74 44 75 65 65 77 113 77 44 69 65 65 77 114 74 44 71 65 65 83 109 84 44 69 65 65 81 122 85 44 77 65 69 51 68 50 75 44 69 65 65 77 52 74 44 75 65 65 89 122 80 44 69 65 65 83 121 80 44 71 65 65 83 106 84 44 85 65 79 118 67 107 84 44 69 65 65 97 82 44 69 65 67 90 81 44 73 65 65 101 49 80 44 69 65 67 100 48 80 44 69 65 65 87 114 82 44 79 65 65 81 119 82 44 69 65 65 97 72 44 69 65 65 87 112 84 44 81 65 67 51 67 111 84 44 71 65 69 71 72 44 69 65 67 74 65 44 69 65 65 89 44 75 65 65 77 118 80 44 69 65 65 83 48 80 44 69 65 65 89 120 69 44 71 65 69 118 67 118 82 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 65 83 48 80 44 75 65 77 122 66 44 83 65 65 83 79 44 71 65 65 109 66 53 66 44 71 65 43 66 51 66 44 73 65 57 66 65 44 73 65 65 73 54 66 44 69 65 65 99 106 69 44 69 65 65 83 47 78 44 69 65 67 49 66 68 44 69 65 65 77 111 81 44 69 65 65 79 47 82 44 79 65 67 98 54 84 44 69 65 65 107 66 55 78 44 69 65 65 75 119 72 44 83 65 65 85 117 69 44 69 65 65 81 44 71 65 65 73 51 84 44 77 65 67 55 67 48 86 44 69 65 65 109 66 68 44 71 65 65 109 66 55 78 44 69 65 65 75 119 72 44 83 65 65 85 44 75 65 67 114 68 53 79 44 69 65 65 73 105 86 44 69 65 65 107 66 44 69 65 65 73 44 69 65 71 49 66 69 44 69 65 65 101 104 76 44 69 65 65 101 44 83 65 65 85 55 73 44 71 65 67 118 67 44 79 65 65 79 65 44 73 65 65 83 48 84 44 71 65 67 100 69 44 71 65 65 107 66 44 71 65 67 114 66 69 44 69 65 65 107 66 106 76 44 69 65 65 101 44 83 65 65 85 55 73 44 71 65 67 49 67 44 79 65 65 54 67 44 69 65 65 116 67 53 67 44 71 65 65 81 74 44 75 65 65 77 48 87 44 69 65 65 99 49 84 44 73 65 67 106 67 52 84 44 71 65 65 107 66 44 71 65 67 114 66 110 66 44 69 65 65 87 44 67 65 65 69 44 83 65 65 85 122 83 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 77 114 67 44 73 65 65 73 47 78 44 71 65 65 83 103 84 44 73 65 65 113 66 106 70 44 71 65 65 79 104 80 44 71 65 65 87 113 71 44 77 65 67 106 68 50 78 44 69 65 65 101 104 85 44 71 65 65 85 53 66 44 83 65 67 49 66 43 86 44 69 65 65 99 55 84 44 69 65 65 77 78 44 69 65 65 83 103 80 44 71 65 67 55 66 111 70 44 69 65 65 105 66 57 84 44 69 65 65 77 78 44 69 65 65 83 103 80 44 73 65 75 108 67 44 79 65 68 65 103 70 44 69 65 65 101 44 75 65 67 82 47 83 44 73 65 71 68 106 67 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 104 66 44 71 65 65 79 43 81 44 69 65 65 85 51 74 44 69 65 65 75 119 72 44 83 65 65 85 117 69 44 69 65 65 81 110 84 44 71 65 65 73 82 44 77 65 67 51 67 117 85 44 69 65 65 87 44 67 65 65 69 53 74 44 69 65 65 101 50 74 44 69 65 65 103 66 67 44 71 65 65 89 104 68 44 81 65 67 108 68 44 67 65 73 78 44 73 65 72 65 65 44 69 65 65 85 51 74 44 69 65 65 75 115 71 44 79 65 65 81 121 70 44 69 65 65 81 110 84 44 71 65 65 73 82 44 77 65 65 79 104 66 44 77 65 65 79 44 75 65 65 77 50 85 44 69 65 65 81 110 84 44 71 65 65 73 121 70 44 85 65 71 114 68 49 66 44 71 65 65 89 44 67 65 73 122 66 44 73 65 68 65 102 44 73 65 65 77 104 68 44 69 65 67 69 103 68 44 69 65 65 73 68 44 69 65 65 75 67 44 73 65 67 104 66 44 71 65 65 75 111 69 44 69 65 65 75 119 72 44 83 65 65 85 117 69 44 69 65 65 81 110 81 44 71 65 65 73 120 68 44 77 65 67 47 66 44 77 65 71 70 44 79 65 65 79 50 85 44 71 65 67 70 44 69 65 65 74 110 85 44 71 65 65 83 56 84 44 69 65 65 103 66 67 44 71 65 67 114 66 44 69 65 65 74 47 84 44 71 65 65 83 48 76 44 69 65 71 82 121 72 44 69 65 65 79 104 86 44 77 65 65 79 44 69 65 65 71 54 66 44 69 65 65 73 44 71 65 67 110 66 122 66 44 79 65 65 81 44 67 65 65 69 113 72 44 77 65 65 103 67 44 77 65 65 122 66 117 78 44 69 65 65 81 110 84 44 69 65 65 73 44 71 65 65 73 82 44 75 65 65 101 44 73 65 65 77 44 77 65 67 118 68 48 69 44 81 65 65 83 107 67 44 71 65 65 85 44 77 65 67 114 66 50 75 44 69 65 67 65 47 81 44 69 65 65 73 103 68 44 71 65 65 75 43 82 44 71 65 65 109 66 53 66 44 69 65 65 79 104 86 44 77 65 65 79 54 66 44 69 65 65 71 103 68 44 73 65 67 55 67 65 44 69 65 65 73 68 44 71 65 65 79 103 83 44 71 65 65 113 66 53 66 44 69 65 65 83 65 44 69 65 65 79 104 86 44 77 65 65 79 54 69 44 73 65 67 118 68 65 44 69 65 65 73 68 44 71 65 65 79 50 73 44 69 65 65 89 121 72 44 73 65 71 122 66 89 44 69 65 65 83 116 86 44 75 65 65 77 115 83 44 71 65 73 106 66 44 79 65 65 79 43 67 44 69 65 65 103 66 67 44 71 65 105 73 120 66 44 83 65 65 83 47 67 44 71 65 65 83 106 81 44 69 65 65 85 43 74 44 71 65 67 51 66 44 73 65 65 73 57 75 44 69 65 47 72 56 66 113 86 44 69 65 65 105 66 67 44 69 65 67 47 67 67 44 69 65 67 72 67 44 69 65 67 65 67 44 69 65 54 72 65 72 44 69 65 65 99 44 71 65 67 100 68 44 69 65 65 107 66 44 71 65 67 108 66 47 66 44 69 65 65 83 118 76 44 69 65 65 101 104 72 44 69 65 65 87 44 75 65 69 112 67 44 73 65 65 77 117 83 44 69 65 65 83 44 67 65 71 82 120 73 44 73 65 67 76 65 44 69 65 65 81 87 44 69 65 65 85 49 75 44 73 65 69 110 66 102 44 69 65 65 73 56 75 44 69 65 65 77 49 74 44 79 65 67 86 44 77 65 65 81 112 66 44 75 65 67 80 115 84 44 69 65 65 83 121 66 44 71 65 65 109 66 106 75 44 69 65 65 79 57 75 44 75 65 67 116 66 43 68 44 71 65 67 90 117 82 44 69 65 65 89 55 87 44 75 65 65 77 54 85 44 71 65 69 108 66 43 66 44 69 65 65 103 66 53 87 44 75 65 65 77 54 85 44 73 65 75 120 66 65 44 69 65 65 83 118 76 44 69 65 65 101 104 72 44 71 65 114 74 83 115 85 44 69 65 115 74 78 65 44 69 65 114 74 120 66 69 44 69 65 65 54 66 44 71 65 68 107 66 68 44 69 65 115 74 78 65 44 71 65 114 74 114 66 108 85 44 79 65 67 118 66 111 85 44 69 65 65 113 67 44 69 65 65 122 66 72 44 69 65 65 103 66 106 85 44 79 65 67 53 66 113 85 44 69 65 65 101 44 83 65 65 85 57 75 44 69 65 65 77 51 74 44 69 65 65 83 103 80 44 69 65 65 75 108 76 44 69 65 65 83 52 81 44 71 65 67 114 68 44 73 65 65 73 112 85 44 69 65 65 77 48 66 44 69 65 65 71 43 78 44 69 65 67 90 52 69 44 69 65 65 101 44 69 65 67 102 51 86 44 69 65 65 73 44 73 65 67 74 105 82 44 69 65 65 89 116 71 44 71 65 65 81 44 71 65 67 112 66 105 76 44 69 65 65 97 44 71 65 67 98 67 44 69 65 65 103 66 120 79 44 69 65 71 104 66 114 70 44 69 65 65 81 50 73 44 71 65 65 81 54 75 44 71 65 65 97 112 79 44 69 65 65 75 115 68 44 75 65 65 75 51 66 44 73 65 65 75 44 73 65 65 75 50 77 44 71 65 71 106 68 73 44 69 65 65 107 66 112 79 44 71 65 65 52 66 44 77 65 65 106 66 109 79 44 69 65 65 119 66 44 69 65 65 73 55 82 44 75 65 65 75 67 44 85 65 65 89 44 71 65 67 49 69 108 66 44 69 65 65 77 102 44 69 65 65 77 90 44 79 65 101 98 44 73 65 98 75 115 85 44 73 65 77 74 114 79 44 69 65 65 109 66 114 71 44 71 65 65 87 118 68 44 71 65 65 89 117 68 44 71 65 65 87 48 85 44 71 65 79 57 67 49 86 44 73 65 65 77 43 67 44 71 65 65 103 67 44 79 65 65 118 66 122 66 44 69 65 65 79 85 44 69 65 65 79 104 67 44 73 65 65 101 65 44 73 65 65 77 44 67 65 67 122 68 44 71 65 65 75 119 86 44 71 65 65 97 108 85 44 69 65 65 79 44 67 65 67 120 66 48 66 44 69 65 65 73 44 69 65 77 69 104 67 44 71 65 65 87 77 44 69 65 65 75 56 68 44 101 65 65 105 66 51 72 44 73 65 67 116 67 119 77 44 69 65 65 97 51 73 44 71 65 67 98 48 79 44 71 65 65 79 120 73 44 71 65 69 82 44 77 65 65 85 117 74 44 69 65 65 85 115 69 44 69 65 65 105 66 114 83 44 75 65 67 112 67 44 71 65 65 75 43 78 44 69 65 65 83 122 80 44 69 65 65 77 78 44 71 65 65 87 118 68 44 69 65 65 85 117 83 44 71 65 65 81 44 67 65 67 104 68 118 82 44 69 65 65 75 72 44 75 65 65 77 119 71 44 69 65 65 83 120 68 44 71 65 67 112 66 44 77 65 71 71 111 85 44 73 65 67 74 104 79 44 69 65 65 85 111 79 44 71 65 75 80 80 44 75 65 71 71 106 85 44 71 65 65 81 121 80 44 71 65 65 87 122 80 44 73 65 67 122 66 113 85 44 73 65 73 73 104 76 44 71 65 67 74 115 71 44 69 65 65 85 120 83 44 75 65 65 77 54 67 44 73 65 103 66 110 66 44 71 65 84 65 113 85 44 71 65 65 103 66 51 86 44 69 65 83 88 117 86 44 71 65 65 83 118 86 44 73 65 65 77 50 86 44 69 65 65 101 44 67 65 67 108 67 51 83 44 69 65 65 73 44 69 65 67 74 44 77 65 65 85 43 78 44 69 65 65 85 117 69 44 69 65 65 97 116 83 44 75 65 67 104 67 43 78 44 69 65 65 83 69 44 69 65 65 87 50 69 44 69 65 65 89 53 85 44 69 65 65 83 103 80 44 71 65 71 49 67 44 71 65 65 75 114 70 44 69 65 65 79 44 67 65 71 88 44 71 65 65 111 66 44 69 65 65 102 103 76 44 69 65 67 74 44 77 65 65 81 51 86 44 73 65 67 67 105 82 44 69 65 65 87 106 82 44 73 65 65 79 52 86 44 69 65 65 89 53 86 44 75 65 67 114 67 52 86 44 69 65 65 89 53 86 44 71 65 65 77 107 71 44 71 65 65 73 53 72 44 75 65 65 77 119 71 44 73 65 77 47 66 56 81 44 69 65 65 97 53 66 44 69 65 65 85 52 66 44 71 65 73 120 66 110 88 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 65 83 56 81 44 71 65 71 104 66 70 44 73 65 65 99 47 75 44 71 65 65 52 66 44 69 65 65 112 66 105 76 44 69 65 65 87 120 85 44 81 65 67 71 44 69 65 65 116 67 117 85 44 69 65 65 101 76 44 69 65 65 89 108 85 44 81 65 69 55 66 78 44 71 65 65 79 48 78 44 87 65 65 89 49 74 44 71 65 85 114 66 44 79 65 76 75 52 81 44 73 65 67 74 104 79 44 69 65 65 85 111 79 44 69 65 67 86 122 79 44 69 65 65 109 66 119 79 44 71 65 71 98 53 69 44 71 65 71 70 115 69 44 69 65 67 78 108 74 44 69 65 65 99 111 74 44 71 65 67 100 65 44 75 65 56 66 79 49 85 44 83 65 65 87 65 44 69 65 69 110 66 44 79 65 65 79 117 83 44 69 65 89 82 44 83 65 65 83 118 72 44 71 65 65 81 104 76 44 69 65 65 85 67 44 69 65 65 83 56 68 44 69 65 65 83 54 70 44 71 65 67 53 67 44 73 65 65 73 51 75 44 69 65 65 71 109 84 44 69 65 65 81 52 67 44 69 65 65 79 118 87 44 69 65 65 77 107 76 44 69 65 67 51 66 115 76 44 69 65 65 43 66 44 109 66 65 65 98 106 86 44 71 65 65 50 66 65 44 69 65 67 55 67 43 74 44 71 65 65 83 72 44 71 65 65 81 99 44 69 65 65 89 49 75 44 69 65 65 87 105 86 44 69 65 65 83 106 86 44 85 65 65 89 65 44 71 65 77 57 68 44 71 65 74 65 43 68 44 69 65 65 85 65 44 71 65 65 87 44 71 65 73 67 44 73 65 65 106 66 103 71 44 69 65 65 77 49 74 44 79 65 65 101 44 67 65 73 122 66 44 71 65 65 113 66 44 71 65 68 114 66 43 82 44 69 65 65 83 114 73 44 69 65 65 79 44 71 65 65 77 65 44 69 65 65 79 44 71 65 65 73 51 77 44 77 65 65 79 44 73 65 67 53 66 105 68 44 81 65 65 43 67 44 81 65 65 47 66 50 85 44 69 65 65 81 53 67 44 69 65 65 81 44 73 65 65 77 51 84 44 77 65 67 51 66 44 73 65 65 114 66 119 66 44 69 65 65 81 53 66 44 85 65 65 107 66 111 73 44 71 65 65 107 66 74 44 69 65 65 75 119 72 44 83 65 65 85 117 69 44 69 65 65 81 44 71 65 65 73 51 84 44 77 65 65 83 44 67 65 77 106 70 44 75 65 74 65 119 66 44 71 65 65 89 111 71 44 69 65 65 75 115 68 44 75 65 65 75 55 66 44 71 65 67 114 66 107 78 44 69 65 65 77 116 81 44 81 65 65 83 44 71 65 65 73 118 66 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 67 118 67 49 73 44 73 65 67 73 44 73 65 65 77 44 73 65 69 86 44 79 65 65 79 56 68 44 69 65 71 73 107 82 44 73 65 67 88 104 86 44 69 65 65 85 65 44 69 65 65 81 80 44 89 65 71 110 66 77 44 69 65 65 87 65 44 69 65 65 83 53 67 44 77 65 65 79 103 86 44 69 65 65 79 47 71 44 81 65 65 81 120 71 44 77 65 65 77 120 69 44 81 65 73 106 68 112 66 44 69 65 65 73 52 73 44 69 65 65 85 81 44 97 65 65 97 57 68 44 75 65 65 77 118 69 44 71 65 65 97 44 69 65 65 73 111 83 44 69 65 65 79 47 82 44 79 65 67 122 68 44 77 65 65 81 112 66 44 73 65 65 77 44 67 65 73 98 44 71 65 72 65 43 86 44 69 65 65 81 53 67 44 69 65 65 81 110 84 44 71 65 71 88 111 72 44 69 65 65 75 119 72 44 83 65 65 89 112 80 44 69 65 65 79 117 87 44 69 65 65 77 118 87 44 77 65 67 108 67 44 77 65 69 68 44 73 65 65 79 107 76 44 69 65 65 79 116 68 44 69 65 65 75 115 68 44 75 65 65 77 108 76 44 77 65 71 106 66 109 76 44 69 65 65 79 68 44 69 65 67 98 113 76 44 69 65 65 77 116 81 44 81 65 65 83 44 71 65 65 73 118 66 44 81 65 65 83 117 70 44 69 65 65 87 67 44 71 65 67 118 67 70 44 69 65 65 83 108 69 44 75 65 65 77 54 78 44 69 65 65 81 44 71 65 65 73 51 84 44 79 65 67 49 66 43 76 44 69 65 65 97 118 75 44 69 65 65 81 80 44 97 65 65 103 66 79 44 73 65 67 106 67 44 67 65 75 76 44 71 65 70 65 109 83 44 69 65 65 79 104 81 44 79 65 65 81 110 68 44 69 65 65 71 44 75 65 67 108 66 101 44 69 65 65 87 52 74 44 69 65 65 75 118 74 44 81 65 65 85 115 75 44 69 65 65 89 121 72 44 73 65 71 114 67 44 79 65 68 65 49 85 44 69 65 65 75 68 44 77 65 65 79 115 71 44 69 65 65 83 54 70 44 71 65 67 100 55 70 44 69 65 71 82 44 81 65 101 74 44 79 65 80 69 107 82 44 71 65 65 89 104 70 44 71 65 65 83 106 81 44 69 65 65 85 43 74 44 73 65 67 104 67 72 44 69 65 67 65 51 74 44 71 65 67 67 119 71 44 69 65 67 68 49 67 44 71 65 67 67 57 68 44 71 65 65 87 119 73 44 69 65 65 83 108 69 44 75 65 65 77 118 69 44 73 65 65 99 119 75 44 69 65 65 97 118 75 44 69 65 65 81 80 44 97 65 65 103 66 79 44 71 65 69 120 69 56 68 44 69 65 114 108 66 82 54 76 44 69 65 65 87 108 80 44 85 65 65 89 50 70 44 69 65 65 75 54 79 44 81 65 65 85 55 79 44 69 65 65 75 105 66 44 81 65 67 51 67 106 66 44 69 65 65 75 117 74 44 87 65 65 97 44 73 65 65 73 65 44 69 65 50 108 66 116 66 49 82 44 71 65 65 81 121 80 44 87 65 65 97 51 75 44 69 65 65 81 105 67 44 77 65 65 79 44 73 65 65 75 57 67 44 75 65 65 77 43 69 44 71 65 65 89 48 68 44 75 65 65 77 44 77 65 65 83 53 72 44 69 65 71 49 69 107 71 44 73 65 73 65 104 76 44 71 65 65 81 105 80 44 97 65 65 101 53 66 44 69 65 65 81 44 83 65 65 85 67 44 71 65 71 120 67 44 79 65 65 52 69 44 69 65 65 114 69 65 44 69 65 65 71 55 70 44 119 66 65 65 121 66 106 74 44 69 65 65 83 48 67 44 99 65 65 101 44 101 65 71 53 68 87 44 71 65 65 79 52 74 44 75 65 65 79 65 44 69 65 71 100 53 74 44 71 65 65 79 113 78 44 75 65 65 77 44 75 65 65 81 114 78 44 71 65 65 79 113 78 44 75 65 65 75 57 70 44 81 65 67 106 67 118 72 44 71 65 65 79 111 86 44 79 65 65 83 112 86 44 71 65 65 79 48 78 44 87 65 75 118 66 57 68 44 69 65 65 75 115 71 44 81 65 65 85 65 44 71 65 67 102 116 71 44 69 65 65 75 113 66 44 79 65 65 83 65 44 71 65 67 100 114 66 44 69 65 65 75 84 44 89 65 65 99 65 44 69 65 69 110 66 83 44 69 65 65 75 102 44 79 65 65 83 55 73 44 71 65 65 79 107 71 44 101 65 67 114 66 48 68 44 69 65 65 75 121 76 44 81 65 65 85 114 86 44 71 65 65 79 86 44 75 65 67 116 66 115 75 44 69 65 65 75 48 76 44 77 65 65 81 116 86 44 71 65 65 79 107 69 44 83 65 67 112 66 48 70 44 69 65 65 75 50 76 44 85 65 65 89 118 86 44 71 65 65 79 113 78 44 75 65 67 120 66 122 68 44 69 65 65 75 122 76 44 81 65 65 85 54 66 44 71 65 65 79 55 66 44 81 65 67 116 66 121 76 44 69 65 65 75 56 68 44 87 65 65 97 49 78 44 71 65 65 79 48 78 44 87 65 57 104 69 122 66 44 71 65 113 105 69 65 44 73 65 65 73 110 69 44 69 65 65 77 44 83 65 65 85 47 73 44 69 65 65 77 43 73 44 69 65 65 75 105 77 44 71 65 67 57 66 44 73 65 65 73 122 70 44 69 65 65 85 44 71 65 67 98 48 70 44 79 65 65 113 66 122 83 44 73 65 65 86 119 83 44 69 65 69 90 44 79 65 65 85 104 86 44 69 65 65 79 65 44 69 65 65 77 43 73 44 75 65 65 54 66 44 73 65 65 108 66 47 73 44 69 65 65 75 108 67 44 83 65 67 116 67 44 71 65 65 117 66 44 73 65 65 108 66 107 67 44 69 65 65 75 108 67 44 83 65 65 105 66 44 67 65 67 49 66 44 71 65 65 75 109 88 44 71 65 65 89 122 86 44 71 65 65 81 81 44 71 65 65 79 107 86 44 71 65 65 73 70 44 71 65 67 110 67 44 77 65 69 68 122 70 44 69 65 65 81 112 83 44 75 65 65 77 54 67 44 71 65 71 104 66 44 79 65 65 79 117 80 44 71 65 73 74 52 70 44 69 65 65 87 44 83 65 65 85 67 44 69 65 65 71 112 86 44 71 65 71 51 66 44 73 65 70 65 44 73 65 65 73 117 80 44 69 65 65 85 44 71 65 69 78 54 70 44 69 65 65 71 65 44 69 65 65 73 65 44 69 65 65 69 116 69 44 89 65 67 73 44 73 65 65 102 115 69 44 69 65 65 69 116 88 44 85 65 65 107 66 115 88 44 73 65 65 77 112 86 44 71 65 67 57 66 117 80 44 69 65 65 81 112 83 44 75 65 65 77 105 89 44 71 65 73 104 66 44 79 65 65 79 55 70 44 71 65 73 74 56 70 44 69 65 65 103 66 55 86 44 71 65 65 79 113 78 44 75 65 65 75 114 68 44 77 65 65 77 49 66 44 97 65 69 108 67 119 78 44 69 65 65 97 44 107 69 65 75 106 66 44 83 65 65 83 67 44 69 65 65 81 122 73 44 69 65 65 85 48 73 44 69 65 65 87 104 71 44 71 65 67 114 67 44 79 65 65 75 53 82 44 69 65 65 89 52 88 44 71 65 67 84 104 87 44 71 65 65 79 56 66 44 75 65 65 77 119 76 44 69 65 65 85 44 83 65 65 85 57 77 44 69 65 65 77 116 66 44 71 65 67 55 67 44 81 65 65 83 56 87 44 69 65 65 85 120 89 44 75 65 65 77 103 68 44 69 65 65 77 116 66 44 69 65 65 71 115 66 44 75 65 65 87 119 80 44 73 65 75 49 67 103 71 44 69 65 65 85 49 88 44 83 65 67 80 48 66 44 71 65 65 79 56 66 44 75 65 65 77 119 76 44 69 65 65 85 44 83 65 65 85 57 77 44 71 65 67 118 67 44 79 65 65 83 65 44 73 65 65 83 119 86 44 73 65 65 103 66 104 71 44 73 65 75 86 44 105 66 65 65 100 103 71 44 69 65 67 74 104 87 44 71 65 65 79 56 66 44 75 65 65 77 119 76 44 69 65 65 85 44 83 65 65 85 57 77 44 71 65 67 118 67 44 79 65 65 52 67 44 69 65 65 110 67 53 67 44 71 65 65 81 74 44 75 65 65 77 119 89 44 69 65 65 87 120 86 44 75 65 65 107 66 119 80 44 73 65 75 47 67 104 81 44 71 65 65 79 52 77 44 79 65 65 81 111 74 44 69 65 65 87 49 73 44 69 65 65 85 48 67 44 71 65 71 53 67 104 81 44 71 65 65 79 52 77 44 79 65 65 83 44 83 65 65 85 83 44 69 65 65 77 110 77 44 69 65 65 79 56 79 44 71 65 67 116 67 44 73 65 65 73 120 80 44 69 65 65 79 85 44 69 65 65 79 44 71 65 77 108 66 44 79 65 74 75 56 79 44 73 65 67 74 51 67 44 69 65 65 79 44 81 65 65 85 65 44 69 65 65 79 44 75 65 71 72 44 73 65 65 106 66 110 77 44 69 65 65 77 90 44 81 65 65 107 67 44 73 65 65 108 66 69 44 69 65 65 75 108 67 44 83 65 67 120 66 48 66 44 71 65 65 79 52 74 44 75 65 65 75 50 68 44 103 66 65 65 105 66 47 77 44 69 65 65 77 54 77 44 71 65 65 83 44 67 65 65 69 55 77 44 71 65 65 83 44 71 65 71 120 68 82 44 71 65 65 79 52 74 44 75 65 65 75 106 70 44 81 65 65 83 48 73 44 69 65 65 77 114 78 44 71 65 65 79 56 66 44 75 65 65 77 90 44 69 65 65 79 44 83 65 65 85 86 44 71 65 67 47 68 44 79 65 65 121 66 44 73 65 65 108 66 65 44 69 65 65 75 108 67 44 97 65 73 100 48 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 115 72 44 75 65 65 77 44 83 65 65 85 51 74 44 71 65 67 102 44 73 65 65 73 102 44 69 65 65 71 105 67 44 69 65 67 78 99 44 69 65 65 77 108 70 44 75 65 65 75 117 68 44 79 65 67 88 50 86 44 69 65 65 79 108 90 44 75 65 69 82 44 71 65 65 121 66 44 105 66 65 65 98 107 68 44 69 65 67 88 44 79 65 65 79 108 68 44 75 65 65 75 107 69 44 85 65 65 87 106 66 44 71 65 65 81 67 44 71 65 65 87 50 77 44 79 65 65 81 44 87 65 67 106 68 44 73 65 65 77 49 78 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 114 66 44 71 65 65 75 99 44 71 65 65 79 119 70 44 83 65 65 85 121 81 44 69 65 65 77 47 87 44 71 65 65 75 110 67 44 77 65 67 104 67 44 79 65 65 79 44 75 65 81 88 44 73 65 70 65 111 69 44 69 65 65 77 112 69 44 75 65 65 75 107 69 44 85 65 65 87 44 73 65 69 104 66 47 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 114 66 99 44 71 65 65 79 52 74 44 75 65 65 77 51 74 44 69 65 65 85 103 87 44 69 65 65 77 47 87 44 71 65 65 75 105 67 44 71 65 71 110 67 44 79 65 65 97 44 69 65 65 78 99 44 69 65 65 85 106 67 44 71 65 65 79 48 78 44 87 65 65 89 118 77 44 71 65 65 81 65 44 71 65 69 55 67 121 76 44 79 65 65 81 44 83 65 65 85 51 77 44 71 65 67 106 66 44 79 65 65 79 108 68 44 75 65 65 75 107 69 44 85 65 65 87 56 85 44 69 65 65 81 104 90 44 75 65 65 77 107 68 44 71 65 65 89 44 73 65 65 73 44 75 65 69 116 68 43 80 44 73 65 65 75 44 83 65 65 85 47 80 44 71 65 67 100 44 79 65 65 79 108 68 44 75 65 65 75 107 69 44 85 65 65 87 56 85 44 69 65 65 81 104 90 44 75 65 65 77 107 68 44 71 65 65 89 44 73 65 65 73 44 75 65 69 116 68 121 86 44 71 65 65 73 44 83 65 65 85 122 86 44 71 65 67 98 44 81 65 65 83 56 86 44 69 65 67 82 104 90 44 75 65 73 111 66 44 105 66 65 65 98 107 68 44 71 65 65 121 66 52 86 44 69 65 65 99 114 82 44 75 65 65 77 118 69 44 71 65 67 110 68 68 44 71 65 65 81 67 44 71 65 67 82 65 44 71 65 65 89 44 73 65 67 98 44 71 65 67 67 75 44 85 65 83 74 44 73 65 65 73 52 86 44 69 65 77 72 122 78 44 69 65 65 97 44 117 67 65 69 78 122 73 44 71 65 65 79 71 44 71 65 65 71 67 44 75 65 65 79 44 83 65 65 85 72 44 69 65 65 85 67 44 69 65 65 83 117 81 44 71 65 67 112 68 44 73 65 65 73 122 71 44 69 65 65 79 120 74 44 69 65 71 88 44 73 65 65 77 80 44 69 65 67 76 44 79 65 65 79 108 68 44 75 65 81 82 44 71 65 72 65 48 84 44 69 65 65 79 65 44 71 65 65 81 121 70 44 69 65 71 85 44 105 66 65 65 98 106 87 44 69 65 65 119 66 44 67 65 97 110 67 44 75 65 80 67 43 74 44 69 65 76 115 66 44 77 65 65 108 66 47 74 44 69 65 65 85 44 73 65 67 115 66 44 77 65 65 112 67 65 44 69 65 65 85 65 44 69 65 65 83 75 44 79 65 65 83 44 73 65 67 84 44 71 65 65 110 66 76 44 69 65 65 83 75 44 79 65 71 68 44 67 65 65 69 44 75 65 65 77 76 44 69 65 65 85 44 77 65 71 108 66 119 73 44 69 65 65 87 50 66 44 75 65 65 77 110 75 44 77 65 73 86 43 74 44 69 65 65 79 44 73 65 65 81 57 74 44 69 65 54 67 120 66 44 79 65 65 77 65 44 71 65 65 87 65 44 69 65 65 81 85 44 81 65 67 116 66 86 44 71 65 65 87 117 81 44 71 65 65 79 55 71 44 75 65 65 77 51 74 44 71 65 75 49 66 108 68 44 75 65 65 75 56 68 44 89 65 65 97 88 44 71 65 65 85 48 74 44 75 65 65 77 51 74 44 71 65 104 68 122 67 44 71 65 65 75 43 74 44 69 65 65 79 44 71 65 65 77 44 67 65 89 106 66 44 71 65 88 65 57 74 44 69 65 65 85 65 44 97 65 65 109 66 70 44 71 65 65 83 69 44 69 65 65 83 44 71 65 65 77 65 44 69 65 73 114 68 70 44 71 65 65 79 111 66 44 77 65 65 79 114 69 44 75 65 65 77 105 68 44 71 65 65 79 109 87 44 85 65 67 49 66 110 77 44 69 65 65 79 44 71 65 67 80 57 74 44 71 65 65 87 65 44 69 65 65 81 53 66 44 83 65 65 87 52 66 44 69 65 65 81 111 69 44 101 65 65 105 66 112 69 44 69 65 65 85 118 68 44 71 65 67 106 69 44 73 65 73 73 109 90 44 69 65 65 87 116 82 44 75 65 65 77 119 70 44 69 65 65 79 44 75 65 65 83 104 75 44 71 65 65 79 54 67 44 99 65 65 101 51 67 44 71 65 67 51 68 44 73 65 65 77 56 74 44 75 65 65 83 57 74 44 69 65 71 84 57 66 44 69 65 65 89 114 66 44 75 65 65 77 105 78 44 73 65 67 116 66 106 78 44 75 65 65 77 105 78 44 71 65 65 83 57 74 44 69 65 65 83 56 74 44 73 65 73 120 66 106 78 44 75 65 65 75 121 81 44 75 65 65 77 120 68 44 69 65 65 79 57 74 44 69 65 65 83 56 74 44 73 65 75 57 66 44 79 65 65 79 106 78 44 75 65 89 80 44 79 65 82 65 121 68 44 69 65 65 79 55 68 44 69 65 65 83 48 78 44 101 65 65 103 66 76 44 69 65 65 79 44 79 65 75 116 67 106 78 44 75 65 65 77 44 71 65 65 77 121 68 44 69 65 67 90 122 68 44 75 65 65 75 117 68 44 79 65 65 83 44 71 65 69 82 118 68 44 75 65 99 72 44 79 65 65 75 107 68 44 69 65 65 83 51 66 44 85 65 67 112 66 118 66 44 75 65 65 77 44 71 65 65 77 107 68 44 69 65 67 90 108 68 44 75 65 65 75 117 68 44 79 65 65 83 44 69 65 67 80 118 68 44 77 65 73 73 113 66 44 69 65 65 89 54 66 44 81 65 67 68 43 67 44 73 65 65 102 121 78 44 69 65 65 75 50 70 44 77 65 67 88 51 70 44 69 65 65 75 50 70 44 77 65 65 79 110 87 44 71 65 71 90 65 44 69 65 65 85 68 44 73 65 71 76 65 44 71 65 65 79 43 68 44 85 65 65 87 57 68 44 69 65 65 85 108 68 44 81 65 73 104 67 52 68 44 85 65 65 89 88 44 71 65 65 79 71 44 71 65 71 120 66 43 86 44 69 65 65 97 108 87 44 71 65 65 81 114 68 44 71 65 71 114 66 44 73 65 65 73 48 90 44 69 65 65 101 44 105 67 65 71 108 66 67 44 69 65 65 109 66 44 67 65 67 108 66 67 44 85 65 65 85 44 69 65 67 86 67 44 85 65 65 85 44 69 65 67 86 104 78 44 77 65 65 77 44 69 65 67 78 105 78 44 77 65 65 77 44 71 65 111 70 82 44 83 65 65 83 67 44 69 65 65 83 67 44 69 65 65 75 112 78 44 71 65 67 116 66 44 79 65 65 85 111 78 44 69 65 65 77 65 44 69 65 65 75 112 78 44 75 65 65 52 66 44 73 65 65 106 66 111 78 44 69 65 65 73 114 89 44 85 65 67 112 67 44 79 65 65 79 113 89 44 69 65 110 70 82 51 87 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 56 78 44 73 65 65 75 44 83 65 65 85 122 78 44 71 65 67 100 44 73 65 65 73 105 85 44 69 65 65 85 53 87 44 71 65 65 81 50 67 44 69 65 65 81 53 70 44 77 65 67 55 66 56 90 44 69 65 65 73 68 44 69 65 65 81 116 87 44 79 65 69 98 44 79 65 65 79 118 68 44 75 65 65 75 54 80 44 79 65 65 81 44 87 65 69 110 66 44 73 65 68 65 44 73 65 65 73 49 78 44 69 65 65 73 44 69 65 67 65 65 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 100 44 71 65 65 75 99 44 71 65 65 79 119 70 44 83 65 65 85 122 73 44 75 65 65 77 54 90 44 69 65 65 83 49 88 44 73 65 67 112 67 44 79 65 65 79 44 75 65 77 88 52 88 44 81 65 65 83 44 83 65 65 85 118 66 44 69 65 65 87 114 86 44 71 65 67 55 66 44 73 65 65 73 121 87 44 69 65 67 72 122 88 44 69 65 65 73 44 69 65 67 74 50 88 44 69 65 65 73 57 90 44 75 65 65 75 117 68 44 79 65 67 84 121 80 44 69 65 65 85 44 71 65 67 86 54 71 44 69 65 65 43 66 44 105 66 65 65 100 114 66 44 71 65 65 48 66 118 86 44 71 65 65 81 117 86 44 71 65 71 112 68 44 73 65 65 77 77 44 69 65 65 99 114 82 44 75 65 65 77 43 81 44 71 65 67 122 66 44 75 65 65 81 114 87 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 100 44 73 65 65 77 121 88 44 69 65 65 77 53 90 44 75 65 65 77 109 67 44 71 65 65 75 121 88 44 71 65 65 79 65 44 73 65 65 81 122 87 44 69 65 65 83 121 87 44 69 65 65 77 65 44 69 65 65 73 104 88 44 87 65 71 120 68 44 71 65 65 75 103 88 44 69 65 65 73 114 89 44 83 65 65 87 44 75 65 65 81 115 89 44 71 65 67 72 44 69 65 65 120 66 65 44 69 65 65 81 71 44 77 65 65 79 74 44 71 65 71 69 44 73 65 65 106 66 65 44 69 65 65 73 114 89 44 85 65 67 72 48 66 44 71 65 65 79 52 74 44 75 65 65 75 50 68 44 103 66 65 65 105 66 111 74 44 69 65 65 75 112 66 44 73 65 65 103 66 44 67 65 69 110 68 120 70 44 69 65 65 81 112 83 44 75 65 65 77 103 90 44 71 65 67 100 44 77 65 77 74 44 79 65 65 79 53 90 44 75 65 65 75 107 69 44 85 65 65 52 66 44 69 65 65 106 66 56 79 44 69 65 65 81 122 80 44 79 65 65 97 78 44 71 65 65 79 48 78 44 87 65 65 89 113 67 44 71 65 65 89 65 44 73 65 73 53 69 103 72 44 77 65 65 79 44 83 65 65 85 118 87 44 71 65 71 104 66 44 79 65 65 77 65 44 69 65 75 101 44 105 66 65 65 84 65 44 69 65 67 74 53 67 44 71 65 65 81 74 44 75 65 65 77 119 67 44 71 65 65 81 81 44 71 65 65 81 122 68 44 75 65 65 77 44 73 65 73 114 67 97 44 71 65 65 81 74 44 75 65 65 77 84 44 75 65 71 112 66 121 68 44 69 65 65 75 73 44 79 65 65 83 74 44 69 65 65 77 44 71 65 65 77 65 44 71 65 90 106 66 122 68 44 75 65 65 77 44 73 65 65 79 65 44 75 65 65 77 44 71 65 65 73 52 67 44 87 65 65 101 53 67 44 75 65 65 75 50 69 44 81 65 65 81 115 86 44 85 65 65 85 49 87 44 81 65 65 85 44 71 65 103 66 108 70 50 87 44 73 65 65 75 44 83 65 65 85 104 88 44 69 65 65 85 67 44 71 65 67 120 66 44 79 65 65 79 110 68 44 75 65 65 75 107 69 44 85 65 67 88 106 66 44 71 65 65 79 48 78 44 87 65 67 78 49 78 44 71 65 65 79 111 66 44 77 65 65 79 114 69 44 75 65 65 75 103 69 44 77 65 65 79 102 44 71 65 65 81 67 44 69 65 65 85 67 44 79 65 75 47 67 103 88 44 81 65 65 83 44 83 65 65 85 106 88 44 71 65 67 108 66 44 79 65 65 79 108 68 44 75 65 65 75 107 97 44 73 65 65 105 66 44 77 65 65 90 104 88 44 69 65 67 104 66 108 68 44 75 65 65 75 115 69 44 87 65 65 97 116 69 44 75 65 65 75 115 69 44 87 65 65 87 117 76 44 79 65 65 81 51 77 44 79 65 85 55 67 68 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 103 79 44 79 65 65 81 44 83 65 65 85 57 79 44 71 65 67 106 66 44 73 65 65 73 56 79 44 69 65 65 83 57 79 44 69 65 65 75 98 44 87 65 67 108 66 44 79 65 65 79 50 80 44 71 65 65 56 66 44 75 65 65 112 66 65 44 69 65 65 79 104 82 44 83 65 65 107 66 103 82 44 69 65 65 83 44 77 65 69 112 68 54 72 44 81 65 65 83 44 83 65 65 85 51 87 44 71 65 67 108 66 44 79 65 65 79 43 73 44 69 65 65 75 47 73 44 69 65 65 77 44 101 65 69 110 66 52 87 44 97 65 65 99 44 83 65 65 85 53 87 44 69 65 65 77 50 69 44 69 65 65 73 113 81 44 71 65 67 106 67 44 79 65 65 79 106 77 44 69 65 65 75 47 73 44 69 65 65 77 44 97 65 65 99 103 86 44 73 65 69 106 67 104 77 44 75 65 65 77 44 83 65 65 85 104 74 44 71 65 67 102 44 79 65 65 79 107 87 44 69 65 65 83 108 87 44 69 65 65 77 44 103 66 65 69 118 66 105 87 44 75 65 65 77 44 83 65 65 85 106 87 44 71 65 67 102 44 79 65 65 79 107 87 44 69 65 65 83 108 87 44 69 65 65 77 44 111 66 65 69 118 66 54 87 44 81 65 65 83 44 83 65 65 85 55 87 44 71 65 67 108 66 44 79 65 65 79 43 73 44 69 65 65 75 47 73 44 69 65 65 77 44 103 66 65 69 110 66 119 87 44 81 65 65 83 44 83 65 65 85 120 87 44 71 65 67 108 66 44 79 65 65 79 43 73 44 69 65 65 75 47 73 44 69 65 65 77 44 111 66 65 69 110 66 56 87 44 85 65 65 87 44 83 65 65 85 57 87 44 69 65 65 77 50 69 44 69 65 65 73 113 81 44 71 65 67 57 66 44 79 65 65 79 106 77 44 69 65 65 75 47 73 44 69 65 65 77 44 99 65 65 101 103 86 44 73 65 69 108 67 43 66 44 85 65 65 87 44 83 65 65 85 47 87 44 69 65 65 77 50 69 44 69 65 65 73 113 81 44 71 65 67 57 66 44 79 65 65 79 106 77 44 69 65 65 75 47 73 44 69 65 65 77 44 107 66 65 65 109 66 103 86 44 73 65 69 116 67 71 44 83 65 65 85 44 83 65 65 85 110 86 44 71 65 67 110 66 44 79 65 65 79 109 86 44 71 65 65 89 110 86 44 69 65 65 75 98 44 89 65 65 99 44 73 65 65 75 56 80 44 87 65 65 89 106 80 44 73 65 69 120 68 43 86 44 83 65 65 85 44 83 65 65 85 47 86 44 71 65 67 110 66 44 79 65 65 79 109 86 44 69 65 65 85 110 86 44 69 65 65 75 105 80 44 97 65 69 118 66 43 71 44 83 65 65 85 44 83 65 65 85 104 87 44 71 65 67 110 66 44 79 65 65 54 66 44 77 65 65 120 66 65 44 69 65 65 75 103 88 44 105 66 65 75 84 116 97 44 69 65 65 85 115 68 44 69 65 65 75 103 88 44 105 66 65 69 82 104 88 44 69 65 65 75 103 88 44 105 66 65 77 82 106 88 44 71 65 65 85 67 44 69 65 65 77 44 99 65 67 112 66 65 44 69 65 65 79 65 44 69 65 65 75 105 88 44 83 65 65 87 106 88 44 71 65 71 106 66 82 44 71 65 65 79 111 66 44 77 65 65 79 44 71 65 65 73 90 44 69 65 65 75 105 74 44 101 65 69 55 66 44 83 65 65 85 104 74 44 69 65 65 77 78 44 71 65 67 108 66 72 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 65 83 44 83 65 65 85 43 85 44 69 65 65 79 118 86 44 71 65 67 112 67 44 73 65 65 73 56 80 44 69 65 65 85 47 80 44 71 65 65 79 119 66 44 73 65 65 75 122 69 44 75 65 65 77 111 68 44 69 65 65 73 113 86 44 71 65 117 66 112 67 44 77 65 114 66 48 66 44 85 65 65 114 66 47 85 44 69 65 65 75 112 68 44 79 65 65 81 44 75 65 67 106 66 52 67 44 69 65 65 87 117 86 44 71 65 71 80 118 86 44 71 65 65 103 67 44 105 66 65 65 98 65 44 73 65 67 118 66 56 80 44 69 65 65 85 47 80 44 71 65 65 79 52 77 44 79 65 65 81 51 77 44 69 65 65 85 56 80 44 73 65 71 106 66 44 69 65 65 100 104 84 44 75 65 65 75 117 68 44 83 65 71 72 103 87 44 69 65 65 107 66 55 86 44 73 65 67 118 66 84 44 71 65 65 79 48 78 44 87 65 65 89 113 67 44 71 65 73 102 115 71 44 69 65 65 97 55 82 44 75 65 65 77 47 68 44 73 65 67 118 66 115 80 44 69 65 65 81 50 72 44 87 65 73 72 51 97 44 75 65 65 75 107 69 44 85 65 65 87 56 79 44 77 65 71 122 66 44 73 65 65 73 52 72 44 69 65 65 103 66 44 111 66 65 115 79 112 66 44 83 65 65 83 67 44 69 65 65 85 67 44 71 65 67 108 66 44 79 65 65 79 65 44 69 65 69 82 44 83 65 65 83 67 44 69 65 65 83 67 44 71 65 67 106 66 44 77 65 65 77 65 44 69 65 71 80 44 83 65 65 83 67 44 69 65 65 89 108 84 44 69 65 65 79 109 84 44 69 65 65 83 67 44 69 65 65 81 67 44 71 65 67 53 67 44 73 65 65 73 67 44 69 65 69 74 44 73 65 71 77 116 84 44 71 65 65 83 49 71 44 69 65 65 99 103 97 44 69 65 65 83 116 84 44 69 65 65 77 117 84 44 83 65 67 49 67 68 44 69 65 65 79 53 97 44 75 65 65 77 115 72 44 71 65 65 81 43 66 44 75 65 65 77 111 82 44 71 65 65 85 75 44 75 65 65 77 74 44 71 65 71 104 67 112 84 44 71 65 65 83 49 71 44 69 65 65 99 103 97 44 69 65 65 83 116 84 44 69 65 65 77 121 84 44 77 65 67 106 68 72 44 69 65 65 79 53 97 44 75 65 65 77 115 72 44 69 65 65 79 109 84 44 69 65 65 83 67 44 71 65 81 55 66 68 44 69 65 65 81 118 97 44 87 65 65 79 115 70 44 69 65 65 87 44 67 65 65 69 56 66 44 71 65 65 81 122 72 44 77 65 65 79 56 97 44 73 65 77 51 67 44 77 65 65 81 114 84 44 71 65 73 84 111 84 44 69 65 65 79 120 97 44 87 65 65 79 115 70 44 69 65 65 87 44 67 65 65 69 56 66 44 75 65 118 79 55 66 57 69 44 71 65 65 79 119 89 44 85 65 65 89 44 83 65 65 85 106 87 44 71 65 57 66 55 66 44 73 65 65 119 66 65 44 69 65 67 110 66 107 87 44 69 65 105 67 74 108 87 44 69 65 65 54 66 44 105 66 65 65 90 65 44 71 65 108 67 77 65 44 69 65 109 67 80 65 44 69 65 108 67 90 107 87 44 69 65 65 83 44 71 65 67 98 122 89 44 71 65 65 79 115 66 44 75 65 65 77 105 66 44 69 65 65 81 121 72 44 77 65 65 79 50 78 44 73 65 65 109 66 44 71 65 65 73 44 83 65 65 85 101 44 69 65 65 71 67 44 71 65 67 47 68 70 44 69 65 65 81 69 44 73 65 65 83 44 73 65 69 88 70 44 71 65 43 66 78 122 89 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 67 44 71 65 69 112 66 44 73 65 67 67 113 87 44 69 65 71 65 67 44 69 65 71 65 67 44 69 65 71 65 67 44 69 65 71 65 67 44 69 65 65 79 44 71 65 71 80 67 44 69 65 65 81 44 71 65 71 82 67 44 71 65 65 101 44 69 65 71 102 67 44 69 65 65 79 44 87 65 81 78 44 73 65 76 65 74 44 69 65 65 83 65 44 71 65 65 85 120 87 44 69 65 65 81 54 87 44 75 65 73 51 66 78 44 69 65 65 81 70 44 71 65 65 83 44 69 65 67 84 75 44 69 65 65 77 51 89 44 79 65 65 81 52 89 44 71 65 65 101 44 69 65 65 73 44 67 65 67 120 67 76 44 69 65 65 83 73 44 69 65 65 77 51 78 44 81 65 67 102 44 81 65 65 85 52 78 44 69 65 65 99 70 44 69 65 65 75 49 89 44 81 65 71 109 67 44 73 65 65 49 68 48 89 44 69 65 65 77 69 44 71 65 65 99 120 98 44 77 65 65 79 109 98 44 69 65 65 81 44 71 65 65 75 65 44 69 65 65 81 44 75 65 67 112 68 116 87 44 69 65 65 81 56 87 44 99 65 71 82 72 44 69 65 65 99 70 44 69 65 65 75 49 89 44 79 65 67 110 66 117 89 44 71 65 65 83 44 71 65 77 78 116 87 44 69 65 65 81 115 87 44 83 65 67 98 65 44 71 65 65 83 44 71 65 71 86 68 44 71 65 65 83 44 69 65 71 74 71 44 73 65 73 72 67 44 69 65 68 73 72 44 69 65 67 71 44 71 65 73 65 44 75 65 77 86 53 67 44 69 65 65 79 44 67 65 71 78 103 66 44 73 65 65 75 44 87 65 50 66 74 44 79 65 49 66 75 43 66 44 73 65 71 67 72 44 73 65 65 87 68 44 73 65 67 102 77 44 69 65 65 99 70 44 69 65 65 75 49 89 44 79 65 65 83 44 69 65 67 53 66 50 89 44 69 65 65 77 116 98 44 75 65 65 77 107 98 44 73 65 71 98 44 83 65 65 87 53 66 44 69 65 65 75 114 72 44 71 65 67 102 53 80 44 71 65 65 79 115 66 44 75 65 65 77 115 79 44 69 65 65 77 44 83 65 65 85 56 73 44 69 65 65 71 55 84 44 71 65 67 49 66 122 71 44 69 65 65 89 121 71 44 71 65 67 86 116 67 44 69 65 65 81 54 83 44 81 65 65 87 97 44 69 65 65 75 55 70 44 73 65 65 75 118 76 44 73 65 67 108 67 109 85 44 69 65 65 75 114 98 44 75 65 65 77 107 72 44 71 65 69 68 65 44 71 65 65 79 65 44 69 65 65 73 118 69 44 81 65 65 52 66 44 87 65 65 108 66 84 44 69 65 65 81 103 70 44 73 65 71 120 67 111 83 44 69 65 65 75 112 83 44 75 65 84 82 44 67 65 89 75 112 68 44 87 65 69 65 111 88 44 73 65 65 87 68 44 71 65 67 102 79 44 75 65 71 75 112 99 44 77 65 73 82 117 99 44 79 65 65 81 44 87 65 89 80 44 79 65 88 65 116 90 44 71 65 65 79 115 66 44 75 65 65 77 71 44 85 65 65 87 44 83 65 65 85 105 88 44 69 65 65 71 55 84 44 71 65 67 112 67 44 73 65 65 73 107 83 44 69 65 67 74 44 79 65 65 48 68 44 71 65 65 104 68 65 44 69 65 65 81 47 87 44 71 65 65 79 105 69 44 81 65 65 83 89 44 69 65 65 75 109 85 44 69 65 65 77 106 67 44 73 65 67 53 67 105 67 44 69 65 65 75 51 87 44 79 65 65 81 48 85 44 69 65 65 79 44 71 65 71 102 65 44 71 65 65 83 109 67 44 71 65 67 98 65 44 77 65 73 73 110 99 44 77 65 75 82 113 84 44 73 65 65 75 44 83 65 65 85 106 81 44 71 65 67 100 44 79 65 65 79 65 44 71 65 67 119 66 44 69 65 65 57 66 72 44 71 65 65 79 105 69 44 81 65 65 83 57 68 44 69 65 65 73 54 89 44 71 65 67 78 44 69 65 65 100 65 44 69 65 65 75 49 89 44 81 65 73 80 43 81 44 77 65 65 79 44 87 65 73 78 44 79 65 72 75 50 72 44 73 65 67 74 65 44 69 65 65 79 44 73 65 69 68 106 99 44 77 65 77 82 119 99 44 81 65 65 83 44 87 65 71 82 44 79 65 70 65 82 44 69 65 65 83 69 44 69 65 65 81 44 71 65 67 106 66 68 44 69 65 65 79 72 44 69 65 65 83 44 71 65 67 84 57 98 44 77 65 69 82 117 77 44 83 65 65 85 44 87 65 67 84 44 79 65 65 81 48 80 44 71 65 77 84 81 44 75 65 65 77 44 87 65 75 76 44 79 65 74 65 84 44 69 65 65 83 69 44 69 65 65 81 44 71 65 67 88 74 44 71 65 65 87 68 44 73 65 67 104 66 73 44 69 65 65 79 72 44 69 65 65 83 44 73 65 69 86 57 98 44 77 65 69 82 103 99 44 79 65 65 81 44 87 65 67 80 44 81 65 65 83 65 44 71 65 73 86 85 44 83 65 65 85 44 83 65 65 85 118 90 44 69 65 65 83 48 80 44 71 65 83 53 66 44 79 65 82 77 109 74 44 73 65 69 76 110 74 44 69 65 65 79 44 67 65 65 69 49 80 44 71 65 68 84 48 80 44 69 65 65 79 65 44 71 65 65 81 44 73 65 67 81 118 83 44 77 65 65 81 117 83 44 69 65 65 75 118 83 44 81 65 65 85 117 83 44 71 65 67 57 67 113 74 44 69 65 65 77 116 98 44 75 65 65 77 105 83 44 71 65 67 78 103 74 44 71 65 67 76 79 44 75 65 71 75 112 99 44 77 65 73 82 111 99 44 75 65 65 77 44 87 65 69 76 44 79 65 68 65 108 68 44 69 65 65 75 119 68 44 83 65 65 85 49 99 44 75 65 65 77 48 69 44 87 65 67 100 49 69 44 77 65 73 82 43 98 44 77 65 65 79 44 87 65 67 78 44 81 65 65 83 65 44 73 65 73 90 44 79 65 65 79 55 67 44 71 65 52 67 82 106 87 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 69 100 111 88 44 83 65 65 85 44 83 65 65 85 67 44 71 65 67 110 66 44 73 65 65 73 67 44 69 65 65 83 44 67 65 73 88 44 67 65 65 69 44 83 65 65 85 44 87 65 65 89 53 90 44 71 65 65 79 119 89 44 85 65 65 87 44 85 65 67 122 67 120 89 44 71 65 65 79 119 89 44 85 65 65 87 44 85 65 65 89 44 71 65 67 47 66 44 67 65 65 69 44 85 65 65 87 44 79 65 65 81 120 89 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 67 116 67 120 89 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 65 105 66 44 69 65 65 71 44 89 65 67 118 67 44 67 65 65 69 44 83 65 65 85 44 79 65 65 81 120 89 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 67 114 67 120 89 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 65 105 66 44 69 65 65 71 44 97 65 69 120 67 113 66 44 69 65 65 81 44 85 65 67 82 120 66 44 69 65 65 85 44 67 65 67 84 119 66 44 77 65 65 79 44 87 65 67 78 44 79 65 65 79 65 44 71 65 69 82 67 44 79 65 65 81 44 87 65 69 80 44 79 65 68 65 67 44 69 65 65 83 108 84 44 75 65 65 77 112 70 44 87 65 65 89 54 87 44 75 65 65 77 55 87 44 87 65 67 49 66 49 69 44 77 65 69 82 105 100 44 81 65 65 83 44 83 65 65 85 55 90 44 71 65 67 108 66 44 79 65 65 79 107 89 44 69 65 65 81 69 44 75 65 65 77 44 75 65 65 77 112 89 44 73 65 73 53 66 56 90 44 75 65 65 77 44 87 65 67 76 44 73 65 65 73 67 44 69 65 65 77 122 89 44 85 65 69 86 44 79 65 65 79 122 66 44 71 65 65 79 48 90 44 83 65 65 85 44 83 65 65 85 83 44 71 65 67 106 67 110 97 44 71 65 65 79 115 66 44 75 65 65 77 115 89 44 69 65 65 81 44 83 65 65 85 122 85 44 69 65 65 73 105 86 44 71 65 71 108 67 44 73 65 65 73 106 97 44 69 65 65 75 47 66 44 69 65 65 89 56 98 44 69 65 65 75 69 44 69 65 65 79 44 77 65 65 87 70 44 69 65 65 75 69 44 69 65 65 79 44 73 65 75 120 68 76 44 69 65 65 85 75 44 69 65 65 79 44 73 65 65 79 44 87 65 67 118 66 44 73 65 65 73 67 44 69 65 65 87 108 97 44 71 65 65 77 65 44 69 65 65 71 122 67 44 77 65 65 79 88 44 75 65 65 77 48 69 44 87 65 67 104 67 52 89 44 71 65 65 89 106 99 44 69 65 65 89 105 99 44 69 65 65 83 104 67 44 83 65 67 114 67 103 67 44 69 65 65 83 104 67 44 85 65 67 80 105 67 44 83 65 65 85 72 44 69 65 65 83 73 44 81 65 67 110 66 49 84 44 75 65 65 77 115 84 44 69 65 65 83 108 67 44 83 65 67 102 75 44 75 65 65 77 54 66 44 69 65 65 83 106 67 44 81 65 69 106 66 105 67 44 69 65 65 85 67 44 69 65 65 79 44 71 65 65 77 44 81 65 67 116 66 114 100 44 75 65 67 65 111 68 44 69 65 65 75 44 67 65 65 69 107 97 44 71 65 65 97 53 89 44 101 65 75 120 66 121 89 44 69 65 65 77 44 79 65 67 72 55 66 44 87 65 69 76 69 44 75 65 65 77 44 83 65 65 85 105 67 44 69 65 65 97 67 44 69 65 65 89 67 44 71 65 67 120 67 44 73 65 65 73 67 44 69 65 65 87 44 69 65 67 102 44 83 65 65 83 49 67 44 69 65 65 83 50 67 44 69 65 65 79 98 44 69 65 65 85 99 44 69 65 65 83 67 44 71 65 67 51 67 44 79 65 65 79 44 87 65 67 78 44 73 65 65 73 67 44 69 65 65 79 104 101 44 75 65 67 86 54 83 44 69 65 65 79 110 79 44 85 65 67 80 117 90 44 69 65 65 97 44 87 65 67 90 44 73 65 65 73 88 44 69 65 65 85 57 66 44 69 65 75 100 44 75 65 65 75 113 67 44 69 65 65 81 68 44 71 65 65 98 44 67 65 81 65 44 73 65 74 65 78 44 69 65 65 87 81 44 69 65 65 81 110 100 44 77 65 65 79 113 100 44 69 65 65 77 110 76 44 77 65 73 100 109 75 44 69 65 65 83 49 66 44 85 65 67 49 66 44 77 65 65 77 44 73 65 65 73 52 67 44 85 65 65 87 44 52 66 65 79 116 66 49 67 44 69 65 65 79 56 66 44 73 65 75 103 66 44 105 66 65 65 98 65 44 71 65 67 89 44 109 66 65 65 98 65 44 73 65 67 82 65 44 69 65 65 83 57 66 44 75 65 71 76 110 97 44 69 65 65 89 109 97 44 71 65 71 88 117 67 44 69 65 67 74 118 67 44 69 65 65 75 47 97 44 75 65 67 74 54 99 44 69 65 67 65 112 67 44 69 65 65 83 48 67 44 69 65 65 85 90 44 69 65 65 85 110 67 44 69 65 65 85 107 68 44 71 65 67 118 67 55 67 44 69 65 65 83 48 67 44 69 65 65 85 90 44 69 65 65 85 106 67 44 69 65 65 83 103 68 44 75 65 79 118 67 72 44 73 65 69 65 112 67 44 69 65 65 75 47 97 44 75 65 67 74 54 99 44 69 65 67 65 112 67 44 69 65 65 83 48 67 44 69 65 65 85 90 44 69 65 65 85 110 67 44 69 65 65 85 107 68 44 71 65 67 118 67 55 67 44 69 65 65 83 48 67 44 69 65 65 85 90 44 69 65 65 85 106 67 44 69 65 65 83 103 68 44 71 65 67 116 67 55 67 44 69 65 65 83 48 67 44 69 65 65 85 90 44 69 65 65 85 110 67 44 69 65 67 53 66 109 67 44 69 65 65 83 109 66 44 101 65 83 80 76 44 73 65 65 89 106 68 44 73 65 67 104 66 109 68 44 79 65 65 79 47 88 44 69 65 67 80 52 77 44 69 65 65 79 44 67 65 65 69 121 75 44 75 65 75 82 83 44 71 65 65 87 102 44 69 65 65 83 111 66 44 97 65 65 101 74 44 69 65 65 77 110 76 44 77 65 75 55 67 119 76 44 69 65 65 85 78 44 69 65 67 84 69 44 69 65 67 65 44 87 65 67 67 44 73 65 67 67 65 44 73 65 67 67 44 77 65 65 81 116 82 44 71 65 69 74 49 74 44 71 65 65 79 48 90 44 83 65 65 83 50 66 44 101 65 67 112 66 114 98 44 71 65 65 79 48 90 44 83 65 65 83 50 66 44 99 65 65 101 51 82 44 69 65 67 57 66 48 82 44 69 65 65 81 57 88 44 79 65 77 81 113 88 44 71 65 65 98 67 44 69 65 65 81 44 73 65 73 80 67 44 73 65 65 89 47 67 44 73 65 67 104 66 105 68 44 79 65 65 79 47 88 44 69 65 67 80 52 77 44 69 65 65 79 44 67 65 65 69 108 71 44 73 65 71 86 113 81 44 69 65 65 83 117 66 44 87 65 65 89 80 44 69 65 65 77 110 76 44 77 65 83 51 66 103 76 44 69 65 67 74 81 44 75 65 75 75 112 98 44 71 65 65 79 48 90 44 83 65 65 83 54 66 44 97 65 67 112 66 72 44 69 65 65 81 57 88 44 77 65 65 81 116 68 44 71 65 65 79 48 90 44 83 65 65 83 54 66 44 101 65 77 114 66 118 98 44 71 65 65 79 48 90 44 83 65 65 83 56 66 44 101 65 67 51 66 74 44 69 65 65 81 57 88 44 77 65 65 81 116 68 44 71 65 65 79 48 90 44 83 65 65 83 56 66 44 103 66 65 69 106 67 49 101 44 71 65 65 79 50 101 44 87 65 65 89 76 44 75 65 75 116 66 44 79 65 65 79 112 98 44 71 65 65 79 48 90 44 83 65 65 85 44 83 65 65 85 83 44 71 65 71 106 67 80 44 69 65 65 81 44 71 65 65 75 44 71 65 65 73 51 67 44 73 65 67 104 66 103 66 44 69 65 67 67 44 69 65 67 65 107 67 44 69 65 67 65 47 98 44 69 65 65 89 115 99 44 71 65 67 88 65 44 69 65 67 65 57 67 44 69 65 67 68 117 67 44 69 65 65 83 101 44 97 65 75 88 116 66 44 69 65 65 81 44 71 65 65 75 44 71 65 65 73 51 67 44 73 65 67 104 66 103 66 44 69 65 67 67 44 69 65 67 65 107 67 44 69 65 67 65 47 98 44 69 65 65 89 111 99 44 71 65 67 88 65 44 69 65 67 65 53 67 44 73 65 75 72 103 67 44 69 65 65 81 44 71 65 65 75 44 71 65 65 73 51 67 44 73 65 67 104 66 103 66 44 69 65 67 67 44 69 65 67 65 107 67 44 69 65 67 65 47 98 44 69 65 65 89 113 99 44 71 65 67 88 65 44 69 65 67 65 51 67 44 77 65 71 65 79 44 87 65 75 76 65 44 81 65 65 83 44 83 65 65 85 104 97 44 71 65 67 108 66 44 79 65 65 99 44 77 65 65 80 65 44 69 65 65 99 50 66 44 71 65 65 79 115 67 44 79 65 65 81 106 69 44 69 65 65 75 103 97 44 71 65 65 89 65 44 73 65 71 118 68 48 66 44 69 65 65 87 44 71 65 107 69 90 44 79 65 47 68 65 47 90 44 71 65 65 79 115 66 44 75 65 65 77 115 89 44 69 65 65 81 44 83 65 65 85 49 97 44 69 65 65 71 107 98 44 71 65 67 106 67 44 73 65 65 73 112 66 44 69 65 65 79 111 66 44 69 65 65 79 44 71 65 67 106 66 115 66 44 69 65 65 99 116 66 44 69 65 65 79 44 71 65 75 116 66 47 66 44 69 65 65 83 43 66 44 69 65 65 79 44 73 65 65 81 112 66 44 69 65 65 75 47 66 44 73 65 71 120 66 121 69 44 71 65 67 74 49 67 44 69 65 65 75 47 66 44 73 65 67 74 44 87 65 73 67 52 67 44 69 65 65 81 54 66 44 71 65 75 84 57 66 44 69 65 65 81 44 69 65 65 73 49 97 44 71 65 65 75 44 71 65 65 73 113 97 44 81 65 73 114 66 75 44 69 65 65 81 44 69 65 65 73 49 97 44 71 65 65 75 44 71 65 65 73 113 97 44 81 65 71 114 66 75 44 69 65 65 81 44 71 65 65 75 44 71 65 65 73 74 44 75 65 71 106 66 73 44 69 65 65 81 44 71 65 65 75 44 71 65 65 73 74 44 77 65 79 110 66 82 44 69 65 65 75 47 66 44 73 65 65 75 109 68 44 69 65 65 79 44 71 65 65 73 106 66 44 77 65 75 114 66 89 44 69 65 65 85 75 44 69 65 65 79 44 73 65 65 81 44 87 65 69 120 66 44 79 65 68 65 76 44 69 65 65 85 75 44 69 65 65 79 44 71 65 65 77 44 81 65 65 85 114 100 44 79 65 65 83 103 100 44 79 65 65 87 47 87 44 69 65 65 89 106 71 44 75 65 65 77 48 69 44 87 65 67 104 69 49 69 44 77 65 77 82 103 100 44 69 65 65 85 75 44 69 65 65 79 44 71 65 65 77 44 81 65 65 87 112 66 44 69 65 65 75 83 44 87 65 73 120 67 112 66 44 69 65 65 81 65 44 81 65 65 83 48 66 44 71 65 71 90 74 44 71 65 67 74 65 44 69 65 65 75 110 99 44 75 65 65 77 117 99 44 69 65 65 85 65 44 71 65 73 102 65 44 71 65 73 82 52 66 44 75 65 65 77 44 83 65 65 85 67 44 71 65 67 102 44 73 65 71 67 67 44 69 65 65 89 112 97 44 85 65 65 85 110 66 44 79 65 71 116 66 112 66 44 69 65 65 73 50 99 44 69 65 71 74 67 44 69 65 65 107 66 104 90 44 77 65 65 79 53 68 44 71 65 67 122 66 54 99 44 69 65 65 103 66 49 101 44 71 65 65 77 71 44 75 65 65 77 105 69 44 87 65 71 53 66 117 97 44 69 65 65 85 104 99 44 71 65 65 79 48 90 44 87 65 71 106 66 117 67 44 69 65 65 97 44 83 65 65 85 47 99 44 71 65 67 116 66 44 79 65 65 79 44 83 65 65 85 52 70 44 71 65 67 104 66 103 88 44 69 65 65 105 66 53 99 44 71 65 65 77 110 67 44 75 65 67 118 66 103 102 44 69 65 65 101 55 99 44 71 65 65 121 66 44 69 65 65 110 66 117 67 44 85 65 65 85 110 66 44 79 65 65 97 106 68 44 71 65 65 77 71 44 75 65 65 77 105 69 44 87 65 65 99 113 68 44 73 65 67 53 68 43 87 44 71 65 67 84 71 44 69 65 65 81 98 44 89 65 65 97 87 44 69 65 65 105 66 67 44 75 65 77 49 67 44 71 65 65 75 70 44 71 65 65 97 44 73 65 67 106 66 55 68 44 69 65 65 89 52 68 44 69 65 65 97 73 44 69 65 65 81 110 86 44 75 65 65 77 111 86 44 69 65 65 89 47 99 44 73 65 65 77 43 89 44 81 65 65 83 43 68 44 69 65 65 81 57 68 44 81 65 67 120 69 50 68 44 71 65 71 117 66 44 89 65 65 112 66 71 44 69 65 65 81 110 67 44 83 65 67 90 122 98 44 69 65 65 89 50 100 44 69 65 65 101 55 99 44 73 65 65 79 54 99 44 69 65 65 101 55 99 44 71 65 65 73 113 90 44 79 65 69 114 68 44 79 65 65 79 121 68 44 69 65 65 81 122 68 44 79 65 75 106 66 44 77 65 65 81 114 90 44 73 65 67 80 56 89 44 69 65 65 89 43 68 44 69 65 65 101 55 99 44 71 65 65 75 43 99 44 69 65 65 89 47 99 44 71 65 65 75 56 99 44 69 65 65 81 57 68 44 81 65 71 49 68 44 79 65 65 79 56 68 44 69 65 65 81 51 68 44 97 65 79 106 66 44 73 65 65 73 54 68 44 69 65 65 99 44 121 68 65 75 108 66 108 99 44 71 65 65 79 48 90 44 83 65 65 83 50 66 44 99 65 65 103 66 44 83 65 65 85 47 88 44 69 65 65 79 54 89 44 71 65 73 51 67 114 102 44 71 65 65 79 115 102 44 83 65 65 87 116 102 44 71 65 65 79 115 102 44 81 65 65 81 67 44 77 65 65 81 47 89 44 71 65 65 83 52 89 44 69 65 65 89 49 88 44 75 65 65 77 108 66 44 69 65 65 77 55 67 44 79 65 67 57 69 51 68 44 71 65 65 79 115 102 44 81 65 65 81 67 44 75 65 65 77 44 56 66 65 65 103 67 47 89 44 69 65 65 77 103 90 44 81 65 67 49 68 104 90 44 69 65 65 77 105 90 44 77 65 65 79 74 44 73 65 79 104 66 110 99 44 71 65 65 79 119 99 44 101 65 65 105 66 44 83 65 65 85 108 90 44 71 65 67 106 67 120 71 44 71 65 65 79 50 101 44 87 65 65 89 44 87 65 67 108 66 44 77 65 65 77 110 89 44 75 65 81 82 44 73 65 65 73 109 90 44 69 65 65 89 122 99 44 71 65 65 79 48 90 44 87 65 107 68 118 66 44 83 65 65 83 103 68 44 73 65 67 82 47 102 44 69 65 65 83 103 103 66 44 111 66 65 65 113 66 44 109 66 65 65 111 66 68 44 71 65 67 108 68 53 102 44 71 65 65 79 54 102 44 111 66 65 65 113 66 44 79 65 65 81 68 44 71 65 67 112 67 49 99 44 71 65 65 79 111 87 44 81 65 110 68 82 112 87 44 71 65 65 79 71 44 71 65 65 71 105 87 44 77 65 65 81 44 83 65 65 85 106 87 44 71 65 89 51 66 44 79 65 86 65 115 99 44 69 65 67 69 108 69 44 75 65 65 77 112 89 44 71 65 75 78 54 90 44 83 65 65 79 44 83 65 65 85 49 87 44 71 65 67 106 66 116 68 44 71 65 65 79 119 99 44 101 65 65 103 66 108 90 44 75 65 71 108 66 118 71 44 77 65 71 82 105 68 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 71 100 101 44 83 65 65 83 44 69 65 73 84 117 90 44 85 65 65 87 44 69 65 71 88 120 71 44 77 65 65 79 44 83 65 65 85 121 71 44 75 65 71 70 44 73 65 65 84 65 44 73 65 65 107 66 55 99 44 71 65 65 79 52 99 44 85 65 65 89 53 99 44 71 65 65 79 113 68 44 87 65 75 106 68 114 68 44 71 65 65 79 113 68 44 83 65 65 85 44 75 65 71 90 119 90 44 71 65 65 115 67 44 73 65 65 110 66 55 99 44 71 65 65 79 52 99 44 87 65 75 47 66 72 44 69 65 65 85 116 66 44 89 65 65 97 120 101 44 69 65 65 85 44 67 65 65 69 113 68 44 81 65 73 114 67 65 44 71 65 65 79 111 87 44 77 65 65 77 109 67 44 75 65 65 79 107 69 44 69 65 65 85 108 69 44 75 65 97 68 44 97 65 65 120 66 53 98 44 69 65 65 83 109 103 66 44 89 65 67 97 44 89 65 65 120 66 110 103 66 44 69 65 65 83 109 103 66 44 97 65 65 54 66 110 103 66 44 69 65 65 83 52 72 44 103 66 65 65 103 66 119 89 44 83 65 71 106 69 106 103 66 44 71 65 65 79 50 101 44 87 65 65 89 122 98 44 71 65 65 79 111 87 44 81 65 75 49 66 122 90 44 69 65 65 83 50 80 44 105 66 65 65 107 66 44 109 66 65 65 111 66 111 81 44 71 65 71 47 67 53 102 44 71 65 65 79 119 80 44 105 66 65 65 107 66 44 79 65 65 81 111 81 44 73 65 81 108 67 44 73 65 65 73 77 44 69 65 65 83 44 83 65 65 85 57 98 44 69 65 65 79 102 44 69 65 65 73 105 76 44 69 65 65 75 116 71 44 69 65 65 79 109 89 44 69 65 65 87 67 44 69 65 65 85 67 44 71 65 67 108 69 44 73 65 65 73 106 101 44 69 65 65 73 44 69 65 67 80 43 67 44 69 65 65 77 102 44 69 65 65 77 90 44 79 65 67 90 56 99 44 69 65 65 99 44 77 65 65 80 104 83 44 69 65 71 82 44 71 65 65 117 66 44 87 65 65 108 66 118 76 44 69 65 65 81 117 76 44 71 65 69 90 44 73 65 65 77 108 77 44 75 65 68 78 43 100 44 71 65 65 89 44 69 65 67 68 55 82 44 69 65 67 86 52 82 44 69 65 65 81 57 98 44 69 65 65 79 102 44 69 65 65 73 106 66 44 69 65 65 71 107 77 44 69 65 65 75 108 77 44 73 65 65 75 44 69 65 65 77 103 101 44 69 65 65 85 67 44 81 65 73 51 67 44 81 65 65 101 110 97 44 73 65 65 86 56 66 44 73 65 67 88 109 89 44 71 65 65 89 44 69 65 69 78 55 101 44 69 65 65 89 48 71 44 75 65 67 106 66 113 89 44 71 65 65 77 44 71 65 71 70 67 44 73 65 71 67 68 44 71 65 67 74 104 100 44 69 65 65 71 51 67 44 75 65 65 77 48 68 44 69 65 65 79 52 68 44 71 65 67 104 66 51 69 44 69 65 65 75 44 79 65 73 76 105 100 44 69 65 65 79 106 100 44 69 65 67 80 65 44 69 65 65 75 44 83 65 65 85 75 44 69 65 65 77 54 99 44 69 65 65 77 118 89 44 71 65 67 49 66 44 79 65 65 79 115 89 44 69 65 65 75 53 102 44 75 65 65 77 119 67 44 71 65 65 81 81 44 71 65 65 81 115 69 44 77 65 75 104 67 51 69 44 71 65 67 74 44 75 65 65 81 106 66 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 104 66 105 66 44 69 65 67 67 101 44 69 65 65 79 104 67 44 71 65 65 75 107 77 44 69 65 65 75 43 82 44 69 65 67 104 66 114 89 44 69 65 67 65 65 44 69 65 65 77 116 72 44 75 65 65 77 48 68 44 69 65 65 79 104 67 44 71 65 65 75 65 44 69 65 65 71 105 66 44 69 65 65 73 101 44 69 65 65 79 104 67 44 71 65 65 75 107 77 44 75 65 77 104 68 44 79 65 65 75 54 82 44 69 65 67 71 47 98 44 69 65 73 72 107 99 44 69 65 67 71 106 100 44 69 65 65 71 51 67 44 75 65 65 77 48 68 44 71 65 71 86 101 44 69 65 65 77 57 66 44 69 65 65 73 101 44 69 65 65 79 44 71 65 65 75 107 75 44 71 65 65 81 56 82 44 71 65 75 108 67 73 44 69 65 65 89 44 81 65 67 102 67 44 69 65 65 97 44 89 65 71 100 44 83 65 65 83 67 44 69 65 65 89 67 44 69 65 65 77 67 44 71 65 67 49 66 44 79 65 65 79 65 44 69 65 65 79 67 44 99 65 77 102 44 83 65 65 83 67 44 69 65 65 87 67 44 71 65 67 110 66 44 79 65 65 79 65 44 69 65 65 79 122 97 44 81 65 65 83 107 97 44 69 65 65 87 44 79 65 65 81 108 97 44 81 65 65 83 109 97 44 69 65 65 89 67 44 71 65 69 104 69 44 73 65 65 73 77 44 69 65 65 97 44 83 65 65 85 67 44 71 65 81 49 66 44 79 65 65 48 66 44 73 65 65 110 66 65 44 69 65 65 77 122 102 44 85 65 65 113 67 44 73 65 65 110 66 121 102 44 69 65 65 77 122 102 44 89 65 65 115 66 121 102 44 69 65 65 77 122 102 44 85 65 77 108 69 44 83 65 65 83 48 102 44 73 65 67 82 106 104 66 44 75 65 65 75 107 71 44 81 65 65 85 106 68 44 71 65 65 79 105 68 44 81 65 65 85 43 97 44 69 65 65 75 67 44 77 65 71 116 67 68 44 69 65 65 75 67 44 73 65 65 77 44 69 65 69 88 68 44 69 65 65 75 114 100 44 85 65 65 89 44 67 65 69 104 66 119 75 44 77 65 65 79 44 83 65 65 85 52 83 44 71 65 71 104 66 44 73 65 65 73 106 90 44 69 65 65 81 105 90 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 83 65 52 66 120 66 44 79 65 122 66 77 54 66 44 73 65 67 76 65 44 69 65 65 81 44 71 65 75 72 103 90 44 69 65 65 89 67 44 75 65 73 88 65 44 69 65 65 77 122 102 44 83 65 67 86 121 102 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 83 65 65 89 54 66 44 69 65 77 120 66 51 72 44 79 65 65 79 43 103 66 44 101 65 65 103 66 72 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 81 65 65 83 44 67 65 67 51 67 54 66 44 77 65 65 79 65 44 69 65 67 80 113 90 44 99 65 65 99 44 77 65 77 88 114 90 44 71 65 69 82 115 90 44 73 65 65 75 44 83 65 65 85 76 44 69 65 65 79 77 44 69 65 65 77 118 90 44 71 65 67 51 66 44 73 65 65 73 119 90 44 69 65 67 72 110 84 44 69 65 65 81 112 79 44 75 65 65 75 111 79 44 77 65 65 79 52 83 44 71 65 73 114 66 44 71 65 65 113 66 44 105 66 65 65 84 77 44 69 65 67 88 108 84 44 69 65 65 79 121 83 44 69 65 65 87 83 44 73 65 65 87 118 90 44 79 65 77 55 66 44 73 65 65 77 119 90 44 75 65 65 81 68 44 69 65 67 98 108 84 44 69 65 65 79 121 83 44 69 65 65 87 85 44 73 65 65 87 68 44 69 65 65 77 67 44 71 65 71 114 67 44 79 65 65 79 110 84 44 71 65 69 82 112 75 44 73 65 65 75 44 83 65 65 85 103 100 44 69 65 65 79 51 83 44 71 65 67 114 66 44 89 65 65 101 112 73 44 73 65 65 82 111 73 44 69 65 67 78 114 79 44 75 65 65 75 111 79 44 77 65 65 79 52 83 44 71 65 71 90 65 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 85 65 65 97 56 97 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 83 65 65 87 50 97 44 69 65 65 87 120 83 44 75 65 69 55 68 52 82 44 79 65 65 81 44 83 65 65 85 101 44 69 65 65 79 51 83 44 69 65 65 75 116 71 44 71 65 97 55 66 44 89 65 65 97 57 66 44 73 65 65 82 111 73 44 71 65 67 67 65 44 71 65 65 115 66 44 105 66 65 65 82 65 44 81 65 65 103 67 112 73 44 73 65 65 86 56 66 44 69 65 69 108 67 47 72 44 75 65 65 75 103 69 44 73 65 65 75 103 100 44 69 65 65 79 51 83 44 73 65 83 122 66 114 79 44 75 65 65 75 113 104 66 44 73 65 65 75 76 44 69 65 65 79 51 83 44 69 65 65 75 116 71 44 81 65 73 76 57 66 44 73 65 65 86 56 66 44 69 65 65 115 66 65 44 69 65 65 81 115 71 44 73 65 69 116 67 107 79 44 79 65 65 81 44 83 65 65 85 121 69 44 69 65 65 79 51 83 44 71 65 67 120 66 44 73 65 65 73 108 77 44 69 65 67 72 105 77 44 69 65 65 81 52 83 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 83 65 69 114 66 44 81 65 65 101 68 44 73 65 65 86 109 73 44 69 65 65 76 44 67 65 73 65 44 81 65 65 97 110 73 44 73 65 65 82 111 73 44 69 65 65 111 66 44 67 65 107 66 120 66 108 77 44 71 65 88 67 107 77 44 69 65 74 73 116 73 44 77 65 65 77 67 44 81 65 65 83 113 73 44 71 65 73 98 65 44 69 65 65 73 53 74 44 73 65 65 75 111 99 44 73 65 69 102 120 83 44 69 65 65 77 119 83 44 69 65 65 87 120 83 44 77 65 73 74 68 44 69 65 67 90 44 67 65 65 69 67 44 71 65 67 65 65 44 69 65 65 73 112 66 44 77 65 65 79 50 78 44 73 65 65 109 66 44 73 65 71 49 66 114 88 44 79 65 69 82 44 77 65 65 81 112 66 44 87 65 67 65 105 77 44 69 65 65 79 67 44 69 65 65 75 108 77 44 85 65 75 82 56 68 44 73 65 65 82 111 73 44 71 65 65 113 66 112 76 44 71 65 65 79 50 68 44 99 65 65 101 119 72 44 77 65 77 49 67 52 83 44 69 65 65 77 122 102 44 83 65 67 86 121 102 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 99 65 65 89 68 44 83 65 69 106 66 43 97 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 89 65 73 116 66 115 98 44 81 65 65 83 44 83 65 65 85 82 44 71 65 67 108 66 44 73 65 65 73 53 83 44 69 65 65 81 52 83 44 69 65 65 79 104 104 66 44 75 65 65 75 107 71 44 83 65 67 120 66 44 89 65 65 105 66 68 44 73 65 65 86 109 73 44 73 65 65 119 66 110 76 44 71 65 65 79 50 68 44 99 65 65 101 119 72 44 75 65 71 118 68 44 73 65 65 73 113 84 44 69 65 65 87 44 73 65 65 73 82 44 69 65 69 102 83 44 69 65 65 87 44 73 65 65 73 84 44 69 65 99 102 85 44 69 65 65 83 44 103 67 65 67 90 67 44 69 65 65 97 44 83 65 50 66 100 44 83 65 65 83 67 44 69 65 65 85 112 101 44 69 65 65 77 52 75 44 69 65 65 75 105 84 44 71 65 67 55 66 44 73 65 65 73 53 100 44 69 65 49 66 97 52 100 44 69 65 56 66 106 66 44 81 65 65 99 114 98 44 73 65 65 84 113 98 44 71 65 65 119 67 44 73 65 65 108 66 55 100 44 69 65 65 75 108 67 44 83 65 73 47 66 44 71 65 72 65 109 67 44 69 65 65 79 44 81 65 65 85 50 75 44 69 65 65 73 104 73 44 81 65 65 83 117 98 44 69 65 65 89 44 79 65 65 81 106 101 44 99 65 71 55 66 44 105 66 65 70 114 66 50 100 44 69 65 65 79 55 100 44 69 65 65 75 106 66 44 97 65 65 99 107 66 44 73 65 69 77 44 67 65 67 47 66 44 73 65 67 67 52 100 44 69 65 110 67 87 44 85 65 68 71 65 44 69 65 111 67 69 65 44 73 65 47 66 76 44 85 65 65 84 65 44 73 65 73 83 44 83 65 65 84 65 44 69 65 67 71 44 75 65 73 72 65 44 75 65 65 85 65 44 69 65 65 79 44 73 65 67 98 65 44 69 65 71 74 75 44 69 65 65 79 108 97 44 75 65 65 77 54 90 44 71 65 67 86 81 44 75 65 65 75 67 44 77 65 65 79 84 44 71 65 71 98 65 44 71 65 101 72 44 77 65 65 81 51 85 44 73 65 71 86 43 85 44 69 65 65 83 76 44 73 65 65 75 53 100 44 69 65 65 77 52 75 44 69 65 65 75 105 84 44 81 65 69 122 66 65 44 79 65 65 79 114 98 44 69 65 71 84 44 79 65 65 79 113 98 44 69 65 71 82 114 101 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 105 99 44 81 65 65 83 44 83 65 65 85 47 100 44 71 65 67 108 66 44 79 65 65 79 105 101 44 69 65 65 83 70 44 81 65 65 83 47 100 44 73 65 65 85 103 101 44 69 65 65 83 68 44 81 65 65 83 47 100 44 73 65 71 116 68 54 100 44 75 65 65 77 44 83 65 65 85 55 100 44 69 65 65 77 67 44 69 65 65 77 52 100 44 71 65 67 51 66 44 79 65 65 79 73 44 69 65 65 83 122 66 44 79 65 65 81 120 99 44 69 65 65 77 67 44 69 65 65 77 52 100 44 73 65 71 114 67 85 44 87 65 65 89 44 83 65 65 85 118 101 44 69 65 65 77 67 44 71 65 67 51 66 103 101 44 69 65 65 83 110 70 44 79 65 65 81 57 89 44 69 65 65 77 67 44 73 65 75 120 66 117 101 44 77 65 65 79 44 83 65 65 85 120 101 44 69 65 65 77 67 44 69 65 65 77 52 100 44 71 65 67 53 66 44 79 65 65 79 71 44 69 65 65 83 120 66 44 79 65 65 81 120 99 44 69 65 65 77 67 44 69 65 65 77 52 100 44 73 65 71 114 67 89 44 89 65 65 97 44 83 65 65 85 122 101 44 69 65 65 77 67 44 71 65 67 53 66 43 100 44 69 65 65 83 108 70 44 79 65 65 81 57 89 44 69 65 65 77 67 44 77 65 73 122 66 84 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 43 98 44 75 65 65 77 44 83 65 65 85 106 84 44 69 65 65 75 116 71 44 71 65 67 112 66 44 73 65 65 73 53 70 44 69 65 65 71 117 66 44 69 65 65 77 52 100 44 69 65 67 90 55 100 44 69 65 65 79 122 68 44 75 65 65 77 44 71 65 67 98 109 105 66 44 69 65 65 81 49 101 44 71 65 65 81 65 44 69 65 65 75 56 71 44 87 65 71 116 66 44 81 65 65 97 116 69 44 73 65 65 82 111 73 44 69 65 65 111 66 44 67 65 67 120 66 44 71 65 65 75 114 79 44 75 65 65 75 117 68 44 83 65 67 84 43 100 44 69 65 65 79 73 44 69 65 65 83 49 100 44 73 65 65 75 80 44 71 65 69 69 44 73 65 65 108 66 65 44 69 65 65 75 108 67 44 87 65 65 109 66 107 103 66 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 44 105 66 65 65 109 66 44 67 65 67 110 69 116 66 44 69 65 65 73 103 103 66 44 69 65 65 77 53 101 44 79 65 67 86 44 77 65 65 81 112 66 44 73 65 73 70 103 103 66 44 69 65 65 79 104 103 66 44 73 65 69 115 66 44 75 65 68 106 67 117 66 44 69 65 65 79 121 101 44 69 65 65 79 104 103 66 44 71 65 65 73 117 66 44 77 65 67 82 55 67 44 81 65 65 83 44 87 65 67 108 66 54 67 44 69 65 65 79 109 100 44 69 65 65 87 110 100 44 69 65 65 75 112 68 44 77 65 65 79 44 73 65 67 57 66 117 104 66 44 69 65 65 85 112 101 44 69 65 65 77 67 44 69 65 65 77 52 100 44 69 65 65 77 53 100 44 75 65 73 47 66 43 100 44 69 65 65 83 74 44 73 65 65 75 53 100 44 69 65 65 77 44 103 66 65 65 103 66 44 71 65 73 116 67 44 79 65 65 79 54 100 44 69 65 73 82 44 77 65 65 111 66 44 105 66 65 65 82 106 84 44 69 65 67 74 114 79 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 109 100 44 69 65 65 83 76 44 73 65 65 75 114 104 66 44 75 65 65 77 113 79 44 75 65 73 102 52 82 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 43 72 44 71 65 67 57 66 44 73 65 65 73 117 90 44 69 65 79 74 44 71 65 65 75 55 100 44 81 65 65 107 66 119 67 44 73 65 65 86 56 66 44 69 65 75 90 44 89 65 65 99 57 66 44 75 65 68 100 113 98 44 69 65 65 79 73 44 69 65 65 83 49 100 44 73 65 65 75 80 44 69 65 65 77 52 75 44 73 65 69 110 66 105 84 44 79 65 77 77 114 98 44 75 65 68 100 113 98 44 69 65 65 79 79 44 69 65 65 85 112 101 44 69 65 65 77 52 75 44 73 65 69 102 105 84 44 79 65 73 82 44 69 65 73 68 116 104 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 71 86 109 100 44 69 65 65 83 76 44 73 65 65 75 114 104 66 44 75 65 65 77 113 79 44 69 65 65 75 116 71 44 77 65 69 120 66 44 75 65 65 77 65 44 69 65 65 48 66 44 69 65 65 110 66 114 68 44 85 65 65 85 110 66 44 79 65 65 89 44 77 65 65 77 44 73 65 71 55 67 121 101 44 87 65 65 89 44 83 65 65 85 51 84 44 71 65 67 114 66 44 79 65 65 79 114 79 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 109 100 44 69 65 65 83 110 70 44 79 65 65 81 118 99 44 75 65 65 77 113 79 44 81 65 77 49 66 112 76 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 50 87 44 77 65 65 79 44 83 65 65 85 122 89 44 69 65 65 77 57 66 44 69 65 65 77 50 102 44 71 65 67 53 66 44 73 65 65 73 112 70 44 69 65 69 74 44 71 65 65 75 122 89 44 69 65 89 74 44 79 65 88 65 57 66 44 71 65 65 83 65 44 71 65 65 81 44 77 65 65 83 44 81 65 67 49 66 117 97 44 69 65 65 81 117 70 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 57 66 44 71 65 71 118 66 50 102 44 75 65 67 69 112 70 44 71 65 65 83 110 87 44 77 65 65 77 67 44 81 65 65 83 115 98 44 71 65 67 55 66 112 70 44 69 65 65 81 117 70 44 69 65 65 83 120 66 44 79 65 65 81 120 99 44 69 65 65 77 57 66 44 69 65 65 77 115 66 44 71 65 65 79 43 68 44 85 65 65 87 115 97 44 73 65 69 118 68 112 70 44 69 65 65 77 116 98 44 75 65 65 77 48 103 66 44 73 65 71 80 112 70 44 71 65 65 83 44 73 65 73 108 66 107 71 44 81 65 65 83 44 83 65 65 85 51 101 44 69 65 65 77 57 66 44 71 65 67 120 66 65 44 69 65 65 79 65 44 71 65 65 81 44 75 65 69 102 44 73 65 65 73 117 97 44 69 65 65 81 106 90 44 71 65 65 79 105 90 44 77 65 65 79 122 89 44 69 65 65 77 57 66 44 71 65 67 47 66 48 103 66 44 69 65 65 99 110 71 44 69 65 65 77 51 89 44 79 65 67 112 66 72 44 69 65 65 75 56 89 44 69 65 65 77 51 78 44 81 65 67 88 43 84 44 69 65 65 81 114 102 44 71 65 65 79 115 102 44 89 65 65 97 57 101 44 69 65 65 77 57 66 44 71 65 77 118 66 44 101 65 65 80 121 66 44 73 65 67 74 65 44 69 65 65 75 56 89 44 69 65 65 77 51 78 44 81 65 67 88 56 84 44 75 65 71 73 106 102 44 73 65 73 85 44 79 65 65 84 122 66 44 71 65 67 74 117 97 44 69 65 65 77 115 71 44 81 65 65 83 44 113 66 65 73 84 70 44 69 65 65 77 71 44 75 65 67 98 114 102 44 69 65 65 71 51 67 44 75 65 65 77 103 68 44 69 65 112 66 70 44 87 65 67 78 82 44 71 65 65 79 109 102 44 81 65 65 83 51 101 44 69 65 65 77 57 66 44 73 65 109 66 70 50 103 66 44 75 65 71 104 66 68 44 71 65 65 101 67 44 71 65 67 112 66 65 44 69 65 65 77 104 79 44 77 65 65 77 56 72 44 81 65 75 100 109 71 44 89 65 65 97 44 83 65 65 85 57 101 44 69 65 65 77 57 66 44 71 65 67 53 66 44 73 65 65 73 48 77 44 69 65 65 77 49 77 44 69 65 65 79 44 97 65 67 106 66 44 79 65 65 79 56 102 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 52 75 44 73 65 65 83 111 84 44 69 65 65 83 120 66 44 79 65 65 81 120 99 44 69 65 65 77 52 75 44 69 65 65 75 44 67 65 67 47 68 105 71 44 77 65 65 79 114 82 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 65 103 66 118 66 44 73 65 65 75 44 87 65 67 55 67 117 72 44 69 65 65 83 108 70 44 79 65 65 81 57 89 44 69 65 65 77 44 67 65 65 69 57 66 44 69 65 65 79 44 81 65 65 83 48 77 44 87 65 77 55 67 112 76 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 50 87 44 77 65 65 79 44 83 65 65 85 118 97 44 69 65 65 77 50 102 44 71 65 67 116 66 44 73 65 65 73 111 66 44 69 65 65 83 44 69 65 81 98 44 77 65 78 113 66 44 105 66 65 65 84 47 103 66 44 73 65 67 88 50 102 44 69 65 65 79 51 102 44 69 65 67 80 65 44 69 65 65 79 44 75 65 67 80 43 103 66 44 75 65 71 73 104 101 44 85 65 65 85 110 66 44 79 65 65 83 109 102 44 69 65 67 104 66 122 102 44 71 65 65 79 105 90 44 77 65 65 79 108 99 44 75 65 65 77 44 71 65 65 75 50 66 44 81 65 71 106 66 115 69 44 73 65 65 84 113 98 44 69 65 67 78 116 104 66 44 75 65 67 65 65 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 86 44 73 65 65 73 50 88 44 69 65 65 81 106 90 44 71 65 65 79 105 90 44 77 65 65 79 108 99 44 75 65 65 77 50 66 44 69 65 65 77 50 102 44 71 65 71 116 67 114 101 44 71 65 65 79 115 102 44 89 65 65 97 118 105 66 44 75 65 65 77 50 66 44 71 65 69 90 44 79 65 65 84 65 44 71 65 65 103 67 44 101 65 65 102 117 97 44 69 65 65 79 44 73 65 67 53 66 106 90 44 71 65 65 79 109 102 44 81 65 65 83 112 105 66 44 75 65 65 77 50 66 44 77 65 73 49 66 121 103 66 44 81 65 65 83 44 83 65 65 85 122 103 66 44 71 65 67 108 66 44 79 65 65 79 51 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 116 66 44 71 65 65 79 109 102 44 81 65 65 83 112 105 66 44 75 65 65 77 50 66 44 77 65 71 120 66 103 104 66 44 87 65 65 89 44 83 65 65 85 104 104 66 44 71 65 67 114 66 44 79 65 65 79 51 66 44 75 65 65 75 107 99 44 77 65 65 79 118 97 44 71 65 65 81 44 75 65 65 77 44 75 65 75 108 67 50 90 44 81 65 65 83 44 83 65 65 85 51 90 44 69 65 65 77 76 44 71 65 67 120 66 44 73 65 65 73 115 104 66 44 69 65 67 72 67 44 69 65 65 81 44 69 65 67 82 67 44 69 65 65 81 55 102 44 71 65 65 79 48 90 44 87 65 67 102 112 77 44 69 65 65 87 118 81 44 75 65 67 88 109 67 44 69 65 65 73 110 67 44 75 65 65 75 117 68 44 79 65 67 84 50 88 44 69 65 65 85 44 97 65 67 67 50 72 44 71 65 67 84 67 44 69 65 65 77 49 69 44 89 65 65 97 55 78 44 69 65 65 85 44 67 65 65 69 65 44 75 65 73 98 44 105 66 65 65 84 53 79 44 73 65 67 88 76 44 69 65 65 77 75 44 69 65 67 78 65 44 79 65 65 79 115 69 44 71 65 69 82 116 69 44 69 65 65 79 65 44 71 65 65 81 44 75 65 69 102 44 77 65 65 81 81 44 75 65 67 80 121 103 66 44 69 65 65 77 110 66 44 69 65 65 83 122 100 44 73 65 65 75 117 77 44 69 65 65 85 112 79 44 71 65 65 75 82 44 69 65 65 79 44 103 66 65 67 57 66 105 104 66 44 69 65 65 73 116 79 44 81 65 67 102 117 79 44 73 65 67 65 68 44 69 65 65 73 116 79 44 77 65 65 77 52 70 44 73 65 65 75 103 66 44 73 65 73 106 66 44 79 65 68 65 65 44 73 65 67 79 52 72 44 69 65 65 77 120 72 44 81 65 65 83 104 97 44 77 65 71 120 66 44 73 65 65 73 121 104 66 44 69 65 65 79 44 115 67 65 65 48 67 67 44 79 65 69 106 68 67 44 69 65 65 85 44 73 65 65 73 122 97 44 79 65 65 81 44 105 66 65 65 109 66 117 97 44 69 65 65 79 44 99 65 65 101 44 75 65 71 47 68 71 44 69 65 65 89 44 67 65 65 69 44 77 65 65 79 44 81 65 65 83 44 83 65 65 85 44 81 65 69 120 67 49 98 44 69 65 65 107 66 53 72 44 69 65 65 83 52 72 44 103 66 65 73 49 66 50 98 44 69 65 65 97 44 83 65 65 85 49 102 44 71 65 67 122 66 44 79 65 65 79 82 44 71 65 65 79 119 70 44 83 65 65 85 104 70 44 69 65 65 75 56 68 44 99 65 65 101 57 68 44 73 65 69 55 67 50 102 44 69 65 65 87 44 67 65 65 69 65 44 85 65 65 85 44 71 65 79 110 66 53 98 44 69 65 65 103 66 54 98 44 99 65 67 112 66 70 44 69 65 65 97 44 83 65 65 85 49 102 44 71 65 67 116 66 44 79 65 65 79 82 44 71 65 65 79 119 70 44 83 65 65 85 104 70 44 69 65 65 75 56 68 44 99 65 65 101 57 68 44 73 65 67 51 67 65 44 69 65 65 75 52 102 44 89 65 65 97 68 44 75 65 65 101 51 102 44 69 65 65 75 56 68 44 103 66 65 71 49 67 44 73 65 65 73 43 98 44 71 65 65 113 66 44 83 65 65 85 55 102 44 69 65 65 77 105 76 44 71 65 79 118 67 44 77 65 65 56 66 44 85 65 72 57 66 106 76 44 69 65 65 79 105 76 44 71 65 65 77 106 76 44 71 65 71 68 56 102 44 77 65 65 77 67 44 83 65 67 77 44 75 65 65 118 66 47 102 44 69 65 65 75 56 102 44 77 65 65 77 67 44 83 65 77 88 76 44 69 65 65 89 49 102 44 73 65 69 115 66 44 83 65 65 108 67 82 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 89 65 75 114 66 44 83 65 65 83 105 103 66 44 71 65 65 87 106 103 66 44 69 65 65 77 56 100 44 69 65 65 77 111 67 44 69 65 65 89 67 44 71 65 67 51 67 44 73 65 65 73 67 44 69 65 65 85 67 44 69 65 67 98 67 44 69 65 65 103 66 44 71 65 67 104 66 67 44 69 65 65 101 74 44 69 65 67 100 44 87 65 67 67 44 79 65 65 79 65 44 69 65 65 77 104 75 44 79 65 69 100 44 87 65 67 67 44 79 65 65 79 51 87 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 56 100 44 69 65 65 77 44 75 65 69 106 67 48 67 44 69 65 65 85 68 44 73 65 67 86 69 44 69 65 65 79 80 44 71 65 65 99 65 44 69 65 65 89 44 75 65 65 83 49 103 66 44 71 65 65 79 107 104 66 44 85 65 65 87 53 67 44 71 65 65 83 44 71 65 65 75 44 77 65 71 49 69 54 67 44 69 65 65 103 66 51 103 66 44 69 65 65 75 108 67 44 87 65 67 108 66 48 66 44 71 65 65 79 107 104 66 44 85 65 65 87 53 67 44 73 65 65 109 66 44 79 65 65 84 50 67 44 73 65 65 107 66 68 44 73 65 67 104 68 104 66 44 69 65 65 81 53 86 44 75 65 65 77 112 75 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 56 100 44 73 65 69 108 67 44 71 65 65 75 54 67 44 71 65 65 105 66 65 44 69 65 65 101 44 75 65 65 81 70 44 69 65 65 79 44 67 65 73 110 68 68 44 71 65 65 111 66 44 69 65 71 112 66 67 44 69 65 65 79 65 44 71 65 65 81 69 44 69 65 65 101 44 71 65 71 57 66 65 44 71 65 65 105 66 72 44 71 65 65 87 44 69 65 69 53 66 44 77 65 65 81 70 44 73 65 73 80 57 103 66 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 56 100 44 69 65 65 77 54 67 44 69 65 65 103 66 70 44 73 65 67 110 67 44 69 65 65 73 74 44 73 65 65 89 44 71 65 65 77 65 44 69 65 65 81 69 44 73 65 65 105 66 67 44 71 65 65 87 44 77 65 65 87 44 73 65 67 51 69 70 44 69 65 65 103 66 44 71 65 69 106 66 75 44 71 65 65 103 67 78 44 69 65 73 106 67 77 44 71 65 65 103 67 44 69 65 67 104 67 110 104 66 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 56 100 44 69 65 65 77 54 67 44 69 65 65 103 66 70 44 71 65 71 49 67 80 44 69 65 65 97 65 44 71 65 65 99 44 71 65 103 66 53 66 44 79 65 98 75 65 44 73 65 67 74 83 44 71 65 65 105 66 65 44 73 65 65 107 66 72 44 71 65 65 87 44 69 65 71 57 67 74 44 69 65 65 87 70 44 69 65 65 89 44 71 65 67 116 66 83 44 71 65 65 107 66 84 44 69 65 65 89 44 71 65 65 77 44 71 65 65 77 65 44 69 65 65 89 44 73 65 67 114 68 65 44 69 65 65 89 44 71 65 67 84 67 44 73 65 67 74 65 44 69 65 65 77 77 44 75 65 65 79 65 44 69 65 67 98 78 44 69 65 65 77 116 82 44 77 65 65 81 56 82 44 69 65 67 100 82 44 69 65 65 77 120 101 44 73 65 65 77 121 101 44 73 65 71 80 65 44 69 65 73 82 44 73 65 65 73 81 44 71 65 65 111 66 44 71 65 121 66 120 66 44 83 65 65 83 67 44 71 65 65 85 47 84 44 69 65 65 85 103 85 44 71 65 79 53 66 44 73 65 78 65 44 73 65 65 73 102 44 69 65 65 83 47 102 44 69 65 120 66 99 65 44 69 65 67 118 66 105 84 44 69 65 67 72 120 85 44 69 65 67 65 115 66 44 69 65 67 65 103 103 66 44 69 65 113 66 65 103 66 44 69 65 65 83 44 71 65 67 84 120 75 44 69 65 65 81 44 69 65 67 82 122 87 44 69 65 65 83 103 78 44 69 65 65 83 104 78 44 79 65 71 88 121 87 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 75 65 67 118 66 118 87 44 69 65 65 79 56 77 44 69 65 65 85 121 74 44 73 65 67 78 117 74 44 81 65 73 88 67 44 69 65 65 85 47 102 44 69 65 65 75 56 102 44 77 65 65 77 67 44 81 65 67 104 66 101 44 71 65 75 97 44 83 65 65 90 102 44 73 65 67 74 103 66 44 69 65 65 81 120 75 44 71 65 65 85 121 72 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 44 89 65 65 101 44 75 65 67 47 67 43 103 66 44 69 65 65 81 120 75 44 75 65 67 98 118 87 44 69 65 65 75 56 102 44 77 65 65 77 67 44 81 65 65 85 44 75 65 71 75 44 75 65 65 118 66 47 102 44 69 65 65 75 56 102 44 77 65 65 77 67 44 83 65 65 107 66 70 44 71 65 65 111 66 55 102 44 75 65 67 114 68 43 103 66 44 69 65 65 81 120 75 44 73 65 55 67 86 119 74 44 69 65 70 65 116 104 66 44 69 65 68 71 119 85 44 79 65 65 65 65 44 69 65 67 72 120 85 44 71 65 70 48 66 117 66 44 69 65 105 68 97 65 44 71 65 47 67 53 66 56 68 44 99 65 67 88 47 68 44 69 65 65 87 67 44 69 65 65 75 68 44 85 65 67 104 66 103 103 66 44 69 65 65 85 97 44 71 65 65 109 66 55 103 66 44 77 65 77 57 66 107 84 44 69 65 65 79 120 85 44 69 65 65 73 117 105 66 44 75 65 65 75 57 104 66 44 89 65 65 97 84 44 69 65 65 73 73 44 99 65 65 101 107 66 44 73 65 67 104 68 103 103 66 44 69 65 65 85 118 103 66 44 71 65 65 79 119 103 66 44 73 65 65 75 47 77 44 69 65 65 77 44 87 65 69 53 66 65 44 69 65 65 75 57 84 44 87 65 65 87 67 44 89 65 65 97 54 84 44 71 65 69 90 44 83 65 65 90 56 77 44 73 65 67 74 65 44 69 65 65 85 44 83 65 69 88 97 44 71 65 65 109 66 55 103 66 44 71 65 65 97 103 103 66 44 77 65 107 67 98 44 83 65 65 90 65 44 73 65 67 74 103 66 44 69 65 65 81 120 75 44 71 65 65 85 44 79 65 71 108 66 121 72 44 69 65 65 83 74 44 73 65 65 75 53 100 44 69 65 65 77 44 85 65 65 87 43 102 44 75 65 77 108 67 44 73 65 65 77 120 74 44 69 65 65 81 44 69 65 65 71 65 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 82 44 77 65 65 110 66 119 75 44 69 65 65 81 120 75 44 75 65 67 90 122 74 44 69 65 65 85 121 74 44 71 65 65 81 117 74 44 77 65 65 77 67 44 81 65 65 85 103 66 44 69 65 65 81 120 75 44 73 65 73 53 67 44 79 65 65 79 122 74 44 69 65 71 82 116 78 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 103 102 44 75 65 65 77 44 87 65 67 76 44 79 65 65 79 68 44 71 65 65 85 116 107 66 44 77 65 65 77 44 73 65 69 120 66 48 107 66 44 75 65 65 77 44 87 65 67 76 44 79 65 65 79 74 44 71 65 65 85 116 107 66 44 79 65 69 108 66 50 107 66 44 79 65 65 81 44 83 65 65 85 55 72 44 71 65 67 106 66 44 77 65 65 115 66 44 107 66 65 65 86 65 44 69 65 67 74 65 44 69 65 65 81 57 99 44 75 65 65 75 117 107 66 44 79 65 65 83 118 107 66 44 75 65 65 75 48 107 66 44 79 65 71 53 66 49 107 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 90 43 101 44 71 65 65 111 66 116 106 66 44 77 65 67 120 66 105 68 44 71 65 65 81 106 68 44 77 65 65 79 117 107 66 44 79 65 69 102 116 104 66 44 71 65 65 81 106 68 44 77 65 65 79 48 107 66 44 89 65 75 110 66 44 73 65 85 69 69 44 71 65 67 65 49 85 44 71 65 88 69 50 85 44 71 65 65 105 66 44 119 66 65 69 106 66 67 44 71 65 65 87 44 105 67 65 69 88 67 44 71 65 65 99 44 113 67 65 77 104 66 72 44 71 65 68 99 104 108 66 44 69 65 65 83 111 108 66 44 121 66 65 67 82 114 105 66 44 89 65 65 97 47 67 44 69 65 65 83 48 67 44 99 65 65 101 44 83 65 67 112 68 52 78 44 71 65 65 81 116 81 44 69 65 65 83 48 67 44 99 65 65 101 44 85 65 77 51 66 71 44 97 65 65 99 44 79 65 65 81 44 83 65 67 53 66 121 78 44 71 65 65 77 122 78 44 97 65 65 99 44 85 65 65 87 44 87 65 67 47 66 121 78 44 71 65 65 77 122 78 44 97 65 65 99 44 79 65 65 81 44 75 65 69 53 66 109 105 66 44 71 65 65 73 106 105 66 44 89 65 65 97 117 78 44 73 65 73 106 66 57 79 44 71 65 65 81 54 106 66 44 87 65 65 97 76 44 71 65 65 73 77 44 87 65 65 87 44 71 65 65 79 65 44 87 65 65 87 44 71 65 65 79 118 83 44 85 65 65 85 119 66 44 81 65 73 118 69 121 81 44 71 65 65 73 122 85 44 85 65 65 89 44 121 66 65 67 104 66 47 79 44 71 65 65 81 43 106 66 44 105 66 65 65 109 66 80 44 71 65 65 73 77 44 87 65 65 87 44 71 65 65 79 118 83 44 85 65 65 85 121 83 44 97 65 75 51 68 82 44 71 65 65 73 122 85 44 85 65 65 89 44 111 66 65 67 104 66 47 79 44 71 65 65 81 105 107 66 44 83 65 65 87 84 44 71 65 65 73 106 83 44 85 65 75 120 66 44 73 65 65 73 50 83 44 71 65 65 85 44 67 65 75 98 67 44 77 65 65 79 44 67 65 65 69 44 69 65 65 71 44 85 65 65 87 44 89 65 67 118 66 67 44 73 65 65 75 44 67 65 65 69 44 69 65 65 71 44 111 66 65 65 113 66 44 117 66 65 67 47 66 67 44 71 65 65 73 44 67 65 65 69 44 69 65 65 71 44 105 66 65 65 107 66 44 111 66 65 67 51 66 67 44 71 65 65 73 44 67 65 65 69 44 69 65 65 71 44 113 66 65 65 115 66 44 121 66 65 69 47 66 67 44 83 65 65 85 44 67 65 65 69 44 69 65 65 71 44 71 65 65 73 44 75 65 89 112 66 44 83 65 65 83 67 44 71 65 65 81 122 105 66 44 69 65 65 83 54 77 44 71 65 73 122 66 44 73 65 65 73 53 76 44 69 65 89 74 44 79 65 84 67 65 44 69 65 68 52 67 44 111 66 65 65 106 67 106 66 44 69 65 65 81 113 75 44 113 66 65 67 98 114 75 44 69 65 65 81 113 75 44 113 66 65 65 115 66 119 67 44 71 65 65 79 44 75 65 69 73 44 111 66 65 65 55 66 55 77 44 69 65 65 81 52 75 44 105 66 65 67 112 66 53 75 44 69 65 65 81 52 75 44 105 66 65 65 107 66 105 67 44 71 65 65 79 44 75 65 71 106 67 44 81 65 71 77 47 74 44 73 65 65 82 43 74 44 71 65 65 113 66 65 44 71 65 65 79 120 77 44 71 65 65 85 76 44 69 65 65 83 54 77 44 71 65 67 53 67 47 77 44 71 65 65 79 111 66 44 77 65 65 79 44 67 65 65 69 108 66 44 71 65 65 87 105 66 44 71 65 71 53 66 65 44 69 65 75 82 44 83 65 65 83 121 104 66 44 71 65 65 101 49 104 66 44 69 65 65 79 50 104 66 44 71 65 73 57 66 44 73 65 72 65 44 73 65 65 73 51 106 66 44 69 65 65 73 44 69 65 67 80 50 88 44 69 65 65 73 51 86 44 69 65 65 77 90 44 79 65 69 72 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 100 115 102 44 69 65 65 83 74 44 73 65 67 82 108 100 44 69 65 65 79 104 67 44 71 65 67 80 44 99 65 67 67 50 106 66 44 71 65 65 101 114 69 44 69 65 65 83 122 100 44 73 65 65 75 56 104 66 44 69 65 65 97 51 106 66 44 71 65 65 75 44 101 65 49 67 110 68 109 106 66 44 71 65 65 81 83 44 77 65 65 81 84 44 71 65 65 81 85 44 77 65 65 81 86 44 71 65 65 81 87 44 83 65 65 87 88 44 71 65 65 81 89 44 81 65 65 85 90 44 71 65 65 81 67 44 77 65 67 55 69 68 44 71 65 65 81 97 44 71 65 65 75 98 44 71 65 65 81 73 44 71 65 71 102 116 107 66 44 71 65 65 81 105 107 66 44 83 65 67 98 67 44 71 65 65 81 99 44 83 65 65 87 100 44 71 65 65 81 68 44 79 65 65 83 44 67 65 65 69 44 69 65 65 71 44 43 66 65 65 103 67 44 99 65 50 67 49 69 44 73 65 65 73 103 66 44 71 65 65 81 44 89 65 69 90 44 83 65 65 83 67 44 71 65 65 101 110 105 66 44 69 65 65 79 104 66 44 69 65 65 83 111 106 66 44 69 65 65 83 67 44 69 65 65 87 67 44 71 65 79 51 68 44 73 65 78 65 44 73 65 65 73 104 106 66 44 69 65 65 77 109 102 44 69 65 65 75 53 83 44 69 65 65 75 48 87 44 69 65 65 77 67 44 69 65 65 85 120 104 66 44 69 65 67 110 67 121 104 66 44 69 65 65 87 122 106 66 44 69 65 65 81 54 104 66 44 121 66 65 67 110 66 54 66 44 69 65 65 81 44 71 65 67 82 49 107 66 44 69 65 65 73 44 69 65 67 74 50 88 44 69 65 65 73 51 86 44 69 65 65 77 90 44 79 65 69 72 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 71 100 44 73 65 70 65 115 66 44 69 65 65 79 85 44 69 65 65 79 104 67 44 75 65 69 81 44 73 65 65 84 115 66 44 69 65 71 90 44 71 65 65 119 66 44 87 65 65 110 66 88 44 69 65 65 81 87 44 71 65 73 90 82 44 71 65 65 79 111 66 44 77 65 65 79 119 105 66 44 69 65 65 79 112 106 66 44 69 65 65 75 108 67 44 83 65 65 87 44 67 65 65 69 107 67 44 71 65 65 83 65 44 81 65 71 49 67 44 71 65 65 77 52 105 66 44 71 65 65 77 53 101 44 75 65 65 77 104 69 44 71 65 73 108 66 44 67 65 67 78 109 102 44 69 65 65 77 65 44 71 65 65 79 103 69 44 69 65 65 83 106 107 66 44 89 65 65 97 81 44 69 65 65 81 98 44 99 65 65 101 44 81 65 71 49 68 48 78 44 71 65 65 81 56 85 44 71 65 65 83 122 88 44 75 65 65 77 53 74 44 73 65 65 85 44 67 65 65 69 44 71 65 65 73 44 75 65 65 81 44 71 65 65 73 69 44 99 65 67 110 68 43 105 66 44 69 65 65 79 112 66 44 71 65 65 83 116 86 44 73 65 65 83 115 86 44 71 65 65 81 75 44 83 65 67 106 67 47 67 44 69 65 65 73 122 83 44 85 65 65 89 117 87 44 69 65 65 77 44 71 65 65 77 122 106 66 44 71 65 65 79 54 106 66 44 99 65 65 101 114 106 66 44 71 65 65 83 105 106 66 44 69 65 65 77 44 71 65 71 106 69 118 104 66 44 69 65 65 73 117 104 66 44 69 65 65 77 44 71 65 67 86 44 77 65 65 81 118 104 66 44 73 65 67 80 121 100 44 69 65 65 77 65 44 69 65 65 73 106 81 44 85 65 75 88 49 80 44 71 65 65 79 111 66 44 77 65 65 79 119 105 66 44 69 65 65 79 106 69 44 69 65 65 73 108 87 44 97 65 71 122 66 107 87 44 69 65 65 77 103 69 44 69 65 65 83 108 85 44 89 65 71 88 53 76 44 89 65 65 99 44 81 65 122 66 108 66 43 102 44 69 65 65 77 106 109 66 44 75 65 65 77 117 67 44 69 65 65 81 52 106 66 44 101 65 65 103 66 116 106 66 44 73 65 43 66 118 67 109 106 66 44 69 65 65 83 57 102 44 89 65 65 99 44 71 65 69 118 66 51 69 44 69 65 65 73 44 69 65 67 74 44 77 65 65 85 115 66 44 69 65 65 79 111 106 66 44 69 65 65 79 49 107 66 44 75 65 71 118 66 44 71 65 65 75 113 107 66 44 73 65 65 107 68 44 69 65 65 114 67 118 106 66 44 71 65 65 79 105 69 44 81 65 65 83 122 68 44 69 65 65 77 43 105 66 44 71 65 67 108 67 67 44 71 65 67 74 65 44 69 65 65 81 55 108 66 44 75 65 65 77 54 67 44 81 65 103 66 104 66 44 71 65 88 65 107 106 66 44 69 65 65 87 120 68 44 69 65 65 89 49 102 44 71 65 71 118 66 109 102 44 69 65 65 77 103 68 44 71 65 65 81 103 66 44 69 65 65 83 106 107 66 44 89 65 65 97 99 44 71 65 65 81 44 85 65 71 118 67 107 106 66 44 71 65 67 74 100 44 71 65 65 101 106 68 44 71 65 73 88 50 68 44 69 65 65 85 44 67 65 67 100 112 104 66 44 69 65 65 73 44 69 65 67 74 44 77 65 65 85 49 66 44 69 65 65 79 109 102 44 69 65 65 75 122 100 44 75 65 67 104 66 52 102 44 71 65 65 89 116 100 44 75 65 65 77 104 69 44 69 65 65 75 57 66 44 77 65 65 81 44 75 65 67 110 67 52 107 66 44 69 65 65 81 51 108 66 44 75 65 65 77 54 67 44 71 65 77 108 66 44 79 65 65 79 109 106 66 44 69 65 73 82 44 73 65 65 73 73 44 71 65 65 105 66 44 115 66 65 69 114 66 44 83 65 65 83 67 44 75 65 67 82 44 79 65 65 79 44 69 65 71 82 44 83 65 65 83 67 44 75 65 67 82 44 79 65 65 79 44 69 65 71 82 44 83 65 65 83 67 44 71 65 65 73 49 106 66 44 69 65 65 77 50 106 66 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 69 65 65 73 105 107 66 44 71 65 67 55 67 44 73 65 65 73 67 44 69 65 65 81 51 108 66 44 69 65 71 90 44 71 65 65 115 66 44 105 66 65 65 86 121 108 66 44 69 65 65 113 66 44 67 65 83 104 67 44 73 65 65 77 122 108 66 44 73 65 78 109 66 44 105 66 65 65 98 117 66 44 73 65 71 88 111 101 44 69 65 65 79 65 44 71 65 65 81 112 101 44 69 65 67 102 65 44 79 65 65 87 43 67 44 71 65 69 69 109 104 66 44 69 65 67 98 68 44 71 65 65 73 49 106 66 44 69 65 65 77 57 66 44 69 65 65 77 117 66 44 69 65 65 85 111 101 44 69 65 65 77 56 70 44 69 65 65 79 122 108 66 44 71 65 65 81 48 108 66 44 71 65 69 104 68 44 79 65 65 79 53 106 66 44 69 65 115 66 82 44 71 65 110 66 97 44 77 65 65 82 54 100 44 71 65 65 115 66 44 77 65 65 78 108 101 44 71 65 71 112 66 65 44 69 65 65 75 70 44 69 65 67 76 111 101 44 69 65 65 79 112 101 44 79 65 65 87 43 67 44 71 65 67 68 44 77 65 65 78 55 67 44 73 65 67 99 44 105 66 65 65 98 70 44 71 65 71 88 69 44 69 65 65 75 107 101 44 69 65 67 76 65 44 79 65 65 79 114 98 44 73 65 73 80 55 67 44 69 65 65 75 107 101 44 69 65 67 76 65 44 69 65 65 79 112 101 44 69 65 67 80 65 44 79 65 65 87 43 67 44 75 65 71 68 44 73 65 65 80 55 67 44 69 65 67 74 65 44 69 65 65 75 56 106 66 44 81 65 67 67 44 73 65 65 77 57 106 66 44 69 65 67 90 44 79 65 65 79 75 44 69 65 101 82 44 79 65 90 97 44 73 65 65 82 52 106 66 44 73 65 67 74 67 44 69 65 65 83 108 107 66 44 71 65 67 84 65 44 69 65 65 75 44 83 65 65 85 109 107 66 44 71 65 73 100 44 79 65 68 65 116 107 66 44 75 65 65 83 117 107 66 44 73 65 65 75 68 44 71 65 67 80 68 44 69 65 65 79 51 109 66 44 77 65 65 79 88 44 75 65 65 77 48 69 44 97 65 73 122 66 115 68 44 75 65 65 79 115 102 44 69 65 65 79 116 102 44 79 65 65 85 115 102 44 69 65 65 79 116 102 44 75 65 65 79 47 69 44 71 65 65 79 43 69 44 83 65 69 49 67 118 69 44 69 65 65 75 99 44 75 65 65 77 44 87 65 67 106 66 116 66 44 71 65 65 79 115 107 66 44 77 65 65 77 114 78 44 73 65 65 75 108 97 44 75 65 65 77 111 110 66 44 69 65 65 79 104 107 66 44 69 65 65 73 107 101 44 69 65 65 77 112 101 44 75 65 43 97 51 67 44 83 65 65 83 117 107 66 44 71 65 65 103 66 47 89 44 69 65 65 73 47 77 44 69 65 65 77 43 108 66 44 71 65 71 53 66 65 44 71 65 81 78 106 71 44 69 65 65 83 74 44 73 65 65 75 51 83 44 69 65 65 73 47 77 44 71 65 65 77 44 71 65 67 120 66 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 114 78 44 73 65 65 75 120 76 44 69 65 65 73 47 77 44 69 65 65 77 44 67 65 67 51 66 121 70 44 87 65 65 87 44 69 65 67 88 48 87 44 81 65 65 83 44 83 65 65 85 121 74 44 71 65 67 108 66 44 73 65 65 73 51 86 44 69 65 67 72 43 86 44 69 65 65 81 108 71 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 50 66 44 71 65 69 55 66 44 71 65 65 121 66 44 69 65 65 108 66 52 108 66 44 69 65 65 77 75 44 87 65 65 109 66 53 110 66 44 75 65 65 77 50 66 44 73 65 71 114 67 44 71 65 65 77 103 109 66 44 71 65 52 66 81 49 107 66 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 73 65 65 85 44 73 65 65 75 107 109 66 44 99 65 67 108 68 78 44 69 65 65 77 79 44 117 66 65 104 66 78 44 71 65 82 65 72 44 69 65 65 81 114 110 66 44 71 65 65 77 71 44 75 65 65 77 105 69 44 87 65 67 112 66 43 99 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 50 66 44 69 65 65 77 103 109 66 44 71 65 71 49 66 51 110 66 44 75 65 65 77 50 66 44 75 65 67 78 105 81 44 69 65 65 83 54 80 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 50 66 44 71 65 67 55 66 56 102 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 50 66 44 71 65 65 77 44 71 65 69 114 66 103 109 66 44 73 65 65 85 47 86 44 69 65 77 100 44 79 65 72 65 50 86 44 69 65 65 77 81 44 50 66 65 67 78 82 44 69 65 65 77 83 44 105 66 65 69 67 112 87 44 79 65 101 69 43 86 44 73 65 71 88 108 71 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 50 66 44 69 65 65 77 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 67 116 67 78 44 69 65 65 79 44 71 65 67 80 65 44 69 65 65 77 114 110 66 44 77 65 65 79 44 71 65 67 98 78 44 79 65 87 68 117 110 66 44 69 65 65 77 79 44 107 66 65 67 78 80 44 69 65 65 77 87 44 56 66 65 65 103 67 106 66 44 97 65 114 69 78 104 104 66 44 73 65 65 55 66 119 98 44 69 65 65 83 122 100 44 73 65 65 75 48 75 44 69 65 65 73 47 77 44 73 65 67 116 66 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 114 78 44 73 65 65 75 120 76 44 69 65 65 73 47 77 44 69 65 65 77 115 108 66 44 73 65 53 97 47 66 104 107 66 44 71 65 65 79 115 107 66 44 77 65 65 81 44 67 65 69 100 47 110 66 44 79 65 65 81 44 71 65 69 82 48 97 44 73 65 65 75 44 83 65 65 85 122 87 44 69 65 65 77 50 106 66 44 69 65 65 79 116 74 44 69 65 65 83 119 68 44 69 65 65 77 112 101 44 71 65 69 49 67 44 73 65 65 73 105 108 66 44 69 65 65 97 67 44 69 65 65 97 120 70 44 69 65 67 55 66 121 70 44 69 65 65 81 67 44 69 65 65 71 67 44 69 65 67 88 120 75 44 69 65 65 83 121 75 44 69 65 65 85 55 109 66 44 69 65 65 77 56 109 66 44 69 65 65 89 67 44 69 65 67 114 67 67 44 69 65 65 87 108 72 44 69 65 65 83 122 100 44 73 65 65 75 80 44 71 65 71 49 66 44 71 65 65 77 115 100 44 69 65 65 89 116 100 44 71 65 65 108 66 44 67 65 75 75 113 97 44 69 65 65 81 65 44 85 65 69 90 65 44 71 65 68 65 113 75 44 69 65 65 99 114 75 44 71 65 67 81 65 44 81 65 67 116 66 53 97 44 69 65 65 87 105 108 66 44 69 65 65 89 106 108 66 44 85 65 75 110 66 65 44 71 65 67 74 68 44 71 65 65 79 52 74 44 75 65 65 75 50 68 44 103 66 65 65 105 66 104 74 44 69 65 65 105 66 116 69 44 71 65 73 122 67 52 97 44 69 65 65 81 57 86 44 79 65 67 98 56 86 44 69 65 65 81 57 86 44 75 65 65 79 47 69 44 71 65 65 79 43 69 44 83 65 73 102 113 103 66 44 69 65 65 83 77 44 69 65 65 83 78 44 85 65 67 122 66 65 44 69 65 65 83 77 44 69 65 65 83 78 44 79 65 65 83 106 111 66 44 79 65 65 79 119 111 66 44 79 65 65 81 44 81 65 69 110 67 82 44 69 65 65 99 79 44 69 65 65 83 69 44 85 65 67 57 66 84 44 69 65 65 99 79 44 69 65 65 83 69 44 79 65 65 83 44 83 65 65 85 108 99 44 71 65 73 122 67 44 77 65 65 121 66 44 111 66 65 65 88 49 74 44 73 65 65 48 66 65 44 71 65 65 79 115 107 66 44 77 65 65 77 117 66 44 89 65 65 99 110 99 44 69 65 65 69 104 76 44 75 65 67 112 69 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 119 66 44 83 65 65 83 112 111 66 44 77 65 65 79 56 67 44 69 65 65 77 105 66 44 103 66 65 65 99 117 66 44 73 65 77 112 68 113 105 66 44 71 65 68 65 108 66 44 71 65 65 85 65 44 71 65 65 83 44 73 65 65 75 110 97 44 77 65 65 79 50 78 44 73 65 65 109 66 44 67 65 65 69 44 75 65 67 49 67 114 88 44 79 65 67 86 44 77 65 65 81 43 107 66 44 73 65 69 80 51 109 66 44 69 65 65 79 43 109 66 44 71 65 68 80 57 70 44 69 65 65 77 111 69 44 71 65 65 101 51 90 44 75 65 65 77 43 90 44 69 65 65 79 107 66 44 75 65 65 83 44 73 65 67 112 66 44 71 65 67 118 66 71 44 71 65 65 101 55 70 44 69 65 65 75 44 73 65 65 79 44 73 65 65 75 122 97 44 77 65 65 79 44 75 65 65 77 57 67 44 79 65 71 118 67 49 68 44 73 65 75 78 111 99 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 73 65 65 85 44 71 65 71 49 67 65 44 71 65 65 83 117 66 44 69 65 65 87 54 97 44 69 65 65 81 56 74 44 97 65 65 101 57 74 44 69 65 65 81 105 76 44 87 65 65 99 114 110 66 44 69 65 71 106 69 111 99 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 73 65 65 85 44 71 65 71 49 67 52 109 66 44 69 65 65 89 116 108 66 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 49 66 53 68 44 75 65 65 77 65 44 69 65 67 78 43 109 66 44 83 65 65 85 65 44 69 65 67 86 112 72 44 75 65 65 77 65 44 69 65 67 78 120 68 44 81 65 65 83 65 44 69 65 67 84 57 86 44 75 65 65 77 56 86 44 69 65 65 81 57 86 44 75 65 67 100 57 69 44 83 65 65 85 65 44 69 65 67 86 113 73 44 97 65 65 99 114 73 44 71 65 65 89 68 44 71 65 65 79 113 78 44 75 65 65 75 114 68 44 77 65 65 77 49 66 44 97 65 65 97 57 68 44 75 65 65 77 118 69 44 71 65 67 47 68 107 69 44 85 65 65 87 113 104 66 44 69 65 65 87 51 97 44 75 65 65 77 44 77 65 67 49 66 113 97 44 73 65 71 75 75 44 69 65 65 87 72 44 69 65 65 81 49 109 66 44 79 65 67 49 66 54 109 66 44 69 65 65 87 72 44 69 65 65 81 49 109 66 44 71 65 65 83 44 73 65 67 110 66 115 110 66 44 99 65 65 103 66 44 69 65 71 110 66 108 76 44 69 65 65 81 109 76 44 81 65 67 105 68 44 73 65 65 57 68 110 76 44 69 65 65 81 109 76 44 77 65 65 77 122 111 66 44 75 65 65 77 103 68 44 69 65 65 77 54 100 44 69 65 65 77 109 72 44 69 65 65 89 76 44 73 65 69 118 67 51 107 66 44 69 65 65 75 56 76 44 107 66 65 67 84 57 76 44 69 65 65 75 56 76 44 105 66 65 65 107 66 53 78 44 69 65 65 77 121 109 66 44 73 65 75 51 66 114 75 44 69 65 65 81 55 68 44 77 65 67 90 54 68 44 69 65 65 81 55 68 44 73 65 65 73 122 90 44 75 65 65 77 103 68 44 69 65 65 77 56 107 66 44 71 65 69 108 66 65 44 69 65 65 85 122 75 44 81 65 65 81 57 86 44 79 65 67 118 66 117 103 66 44 69 65 65 85 122 75 44 81 65 65 81 57 86 44 75 65 65 79 56 86 44 69 65 65 81 57 86 44 79 65 75 57 66 57 69 44 69 65 67 74 115 108 66 44 69 65 65 83 108 106 66 44 79 65 65 81 107 106 66 44 69 65 65 83 83 44 103 66 65 65 105 66 44 69 65 65 71 86 44 71 65 69 57 67 67 44 69 65 65 83 53 110 66 44 75 65 65 77 50 110 66 44 71 65 73 104 66 116 108 66 44 71 65 65 79 115 107 66 44 77 65 65 77 47 110 66 44 79 65 65 81 109 67 44 73 65 65 83 44 75 65 77 104 67 52 97 44 79 65 65 81 44 83 65 65 85 57 89 44 69 65 65 77 50 106 66 44 69 65 65 79 116 74 44 69 65 65 83 53 97 44 69 65 65 85 105 109 66 44 71 65 69 106 68 44 73 65 65 73 104 107 66 44 69 65 65 71 105 107 66 44 69 65 65 87 120 71 44 69 65 67 106 66 121 70 44 69 65 65 81 67 44 69 65 65 71 67 44 69 65 67 88 120 75 44 69 65 65 83 121 75 44 69 65 65 85 55 109 66 44 69 65 65 77 56 109 66 44 69 65 65 89 67 44 69 65 67 114 67 67 44 69 65 65 87 108 72 44 69 65 65 83 68 44 81 65 65 83 47 100 44 73 65 65 85 103 101 44 69 65 65 83 122 100 44 73 65 65 75 80 44 71 65 69 116 68 44 71 65 65 77 107 108 66 44 73 65 65 101 78 44 69 65 65 83 77 44 69 65 65 83 78 44 81 65 65 118 67 44 67 65 77 65 67 44 71 65 68 65 108 66 44 71 65 65 85 65 44 71 65 65 83 44 73 65 65 75 110 97 44 77 65 65 79 50 78 44 73 65 65 109 66 44 67 65 65 69 44 75 65 67 49 67 114 88 44 79 65 67 86 44 77 65 65 81 43 107 66 44 73 65 77 80 44 71 65 74 65 51 109 66 44 69 65 65 79 43 109 66 44 71 65 68 80 57 70 44 69 65 65 77 111 69 44 71 65 65 101 51 90 44 75 65 65 77 43 90 44 69 65 65 79 107 66 44 75 65 65 83 44 73 65 67 112 66 44 71 65 67 118 66 71 44 71 65 65 101 55 70 44 69 65 65 75 44 73 65 65 79 44 73 65 65 75 122 97 44 77 65 65 79 44 75 65 65 77 57 67 44 79 65 71 118 67 49 68 44 69 65 65 78 44 67 65 79 65 111 99 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 73 65 65 85 44 71 65 69 49 67 54 109 66 44 69 65 65 87 72 44 69 65 68 88 49 109 66 44 71 65 65 83 117 66 44 69 65 65 87 54 97 44 69 65 65 81 56 74 44 97 65 65 101 57 74 44 69 65 65 81 105 76 44 87 65 65 99 114 110 66 44 73 65 67 112 67 44 71 65 67 55 66 105 104 66 44 69 65 65 77 65 44 69 65 65 75 44 73 65 67 86 44 73 65 65 73 112 97 44 79 65 65 81 44 85 65 65 89 105 103 66 44 69 65 65 87 51 97 44 75 65 65 77 44 105 66 65 65 111 66 44 87 65 71 57 68 115 98 44 69 65 65 89 106 107 66 44 69 65 65 73 113 106 66 44 69 65 65 83 106 108 66 44 79 65 67 122 66 44 77 65 65 81 52 66 44 73 65 67 80 111 106 66 44 69 65 65 89 67 44 69 65 65 85 114 106 66 44 73 65 69 102 103 107 66 44 71 65 65 101 84 44 73 65 65 97 72 44 69 65 65 85 71 44 85 65 67 122 67 53 75 44 71 65 65 87 65 44 69 65 65 81 57 86 44 79 65 65 83 117 103 66 44 69 65 65 85 118 103 66 44 77 65 67 116 67 52 97 44 73 65 65 79 65 44 69 65 65 73 110 98 44 75 65 65 77 56 103 66 44 69 65 65 85 110 104 66 44 89 65 67 51 66 108 69 44 71 65 65 89 65 44 73 65 65 97 113 108 66 44 69 65 65 85 114 108 66 44 87 65 67 120 66 44 79 65 65 98 65 44 73 65 65 113 66 113 108 66 44 69 65 65 85 114 108 66 44 89 65 67 104 67 115 108 66 44 69 65 65 83 108 106 66 44 79 65 65 81 72 44 69 65 65 71 44 71 65 69 102 111 106 66 44 69 65 65 85 114 108 66 44 85 65 67 100 115 108 66 44 69 65 65 83 83 44 103 66 65 69 76 108 76 44 69 65 65 81 120 66 44 81 65 67 90 119 66 44 69 65 65 81 120 66 44 79 65 65 79 57 98 44 75 65 65 77 103 68 44 69 65 65 77 56 107 66 44 73 65 79 122 66 97 44 73 65 65 99 90 44 69 65 65 83 106 108 66 44 83 65 67 114 66 119 97 44 69 65 65 81 115 76 44 87 65 67 107 68 44 73 65 65 47 68 116 76 44 69 65 65 81 115 76 44 83 65 65 83 53 111 66 44 75 65 65 77 103 68 44 69 65 65 77 103 108 66 44 69 65 65 89 69 44 69 65 65 83 69 44 83 65 69 108 68 53 108 66 44 71 65 65 79 113 109 66 44 89 65 65 97 55 108 66 44 69 65 65 77 57 66 44 69 65 65 77 103 110 66 44 69 65 65 83 69 44 101 65 71 110 67 82 44 69 65 65 81 49 109 66 44 83 65 49 67 102 44 73 65 65 77 65 44 75 65 65 81 48 109 66 44 69 65 67 98 112 108 66 44 71 65 65 79 115 107 66 44 77 65 65 77 104 76 44 79 65 65 81 57 89 44 69 65 65 77 57 66 44 69 65 65 79 121 108 66 44 69 65 65 79 107 66 44 71 65 65 75 120 75 44 69 65 65 83 53 97 44 71 65 65 85 44 71 65 56 67 47 68 68 44 71 65 65 79 50 68 44 99 65 65 101 121 104 66 44 73 65 67 49 66 53 71 44 69 65 65 83 108 70 44 79 65 65 81 57 89 44 69 65 65 77 44 109 66 65 73 122 66 115 108 66 44 83 65 65 85 44 83 65 65 85 81 44 71 65 69 110 66 44 73 65 65 73 112 110 66 44 69 65 65 71 103 68 44 69 65 65 71 102 44 69 65 65 75 52 79 44 69 65 65 83 117 86 44 69 65 65 87 105 66 44 69 65 67 108 67 51 87 44 69 65 65 79 44 73 65 65 73 57 77 44 77 65 65 79 114 66 44 85 65 65 85 110 66 44 81 65 71 53 66 103 107 66 44 69 65 65 81 116 107 66 44 71 65 65 79 115 107 66 44 77 65 65 77 107 67 44 73 65 65 75 70 44 71 65 69 49 66 102 44 71 65 67 67 47 71 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 44 87 65 65 99 73 44 79 65 65 79 119 111 66 44 79 65 65 81 44 79 65 67 47 67 114 66 44 69 65 65 77 53 108 66 44 79 65 65 85 44 71 65 67 110 66 111 99 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 119 74 44 69 65 65 77 53 108 66 44 79 65 65 85 44 71 65 75 106 68 44 73 65 70 65 107 82 44 69 65 65 77 44 71 65 65 77 48 85 44 69 65 69 78 112 108 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 117 67 44 85 65 65 85 110 66 44 79 65 65 81 112 66 44 73 65 67 108 67 48 81 44 69 65 65 77 49 81 44 71 65 65 77 117 67 44 85 65 65 87 118 67 44 71 65 77 120 66 44 71 65 72 65 111 108 66 44 69 65 65 77 109 67 44 101 65 65 105 66 49 112 66 44 77 65 71 108 66 43 100 44 69 65 65 81 52 76 44 99 65 65 50 68 44 73 65 65 53 67 53 76 44 69 65 65 81 52 76 44 89 65 65 89 108 112 66 44 75 65 65 77 84 44 75 65 65 77 117 110 66 44 71 65 65 53 68 44 67 65 75 65 105 67 44 69 65 65 101 118 109 66 44 71 65 65 79 115 107 66 44 77 65 65 77 105 66 44 83 65 65 83 47 110 66 44 75 65 65 77 84 44 75 65 65 77 117 110 66 44 69 65 65 79 105 66 44 71 65 71 120 68 114 109 66 44 69 65 65 73 44 69 65 67 74 44 79 65 65 85 54 81 44 69 65 65 85 119 87 44 69 65 65 99 114 110 66 44 81 65 65 89 111 108 66 44 69 65 65 77 113 67 44 117 66 65 65 121 66 44 67 65 67 53 69 114 67 44 69 65 65 77 115 67 44 99 65 65 103 66 55 87 44 69 65 65 81 118 80 44 75 65 69 57 66 48 66 44 69 65 65 73 44 69 65 67 74 44 79 65 65 85 111 106 66 44 69 65 65 89 118 86 44 69 65 65 81 119 86 44 83 65 65 85 114 106 66 44 81 65 67 116 67 111 105 66 44 69 65 65 77 87 44 103 67 65 73 68 88 44 69 65 65 77 117 67 44 97 65 65 115 67 44 73 65 65 120 66 118 66 44 69 65 65 85 110 104 66 44 89 65 67 110 67 109 103 66 44 69 65 65 77 117 67 44 87 65 65 87 114 105 66 44 75 65 65 77 56 103 66 44 69 65 65 85 110 104 66 44 97 65 69 106 67 109 103 66 44 69 65 65 77 103 66 44 85 65 65 89 65 44 69 65 67 108 66 104 66 44 69 65 65 77 106 71 44 75 65 65 79 105 72 44 69 65 65 85 106 72 44 85 65 75 86 114 98 44 75 65 72 98 55 66 44 73 65 65 85 110 66 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 119 75 44 69 65 65 85 71 44 87 65 65 99 44 73 65 65 75 71 44 81 65 67 53 68 78 44 69 65 65 85 122 75 44 83 65 65 85 110 100 44 77 65 65 79 113 83 44 69 65 65 81 118 80 44 75 65 65 77 111 80 44 77 65 71 84 44 75 65 65 122 66 48 85 44 69 65 65 77 51 86 44 79 65 65 83 120 78 44 75 65 67 114 66 109 106 66 44 69 65 65 77 83 44 105 66 65 67 78 84 44 69 65 65 77 79 44 111 66 65 89 88 44 79 65 74 75 47 74 44 69 65 65 81 103 77 44 99 65 67 90 104 77 44 69 65 65 81 103 77 44 97 65 65 97 116 112 66 44 75 65 65 77 84 44 75 65 65 77 117 110 66 44 71 65 71 51 66 65 44 69 65 65 77 51 86 44 83 65 71 100 52 87 44 83 65 65 85 44 83 65 65 85 106 66 44 69 65 65 79 105 66 44 71 65 67 49 66 44 73 65 65 73 114 109 66 44 69 65 65 71 111 109 66 44 69 65 65 87 110 102 44 69 65 65 75 52 103 66 44 69 65 65 105 66 67 44 69 65 67 118 67 84 44 69 65 65 101 44 71 65 67 102 80 44 69 65 65 103 66 84 44 69 65 65 83 83 44 99 65 67 122 66 114 80 44 69 65 65 77 50 78 44 69 65 65 77 51 104 66 44 79 65 71 98 44 71 65 65 75 113 106 66 44 71 65 73 74 114 80 44 69 65 65 73 114 89 44 89 65 79 99 44 85 65 65 102 103 109 66 44 69 65 65 77 53 108 66 44 77 65 65 111 67 44 71 65 65 104 66 52 108 66 44 69 65 65 77 57 83 44 81 65 69 110 67 44 75 65 65 81 109 70 44 73 65 65 81 53 90 44 75 65 65 77 52 90 44 69 65 65 77 65 44 69 65 65 73 104 88 44 89 65 65 99 53 67 44 75 65 73 55 67 44 71 65 65 115 66 44 73 65 65 106 66 52 90 44 69 65 65 73 114 89 44 87 65 65 111 67 44 85 65 65 102 103 109 66 44 69 65 65 77 53 108 66 44 79 65 65 113 67 44 73 65 65 106 66 105 89 44 69 65 65 73 114 78 44 85 65 65 115 66 44 67 65 71 106 70 44 73 65 70 65 121 100 44 69 65 65 107 66 44 71 65 67 108 66 67 44 69 65 65 109 66 44 71 65 67 98 57 110 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 56 109 66 44 69 65 65 101 57 109 66 44 83 65 77 69 56 68 44 73 65 65 53 66 103 107 66 44 69 65 70 76 55 103 66 44 71 65 72 65 109 102 44 69 65 65 89 67 44 69 65 65 85 114 109 66 44 73 65 71 78 101 44 83 65 65 87 44 79 65 71 49 66 43 109 66 44 69 65 65 107 66 55 103 66 44 71 65 65 81 109 102 44 69 65 65 85 104 100 44 99 65 67 67 44 69 65 65 112 67 116 73 44 71 65 65 81 109 71 44 69 65 65 75 112 74 44 77 65 65 79 103 97 44 77 65 65 79 74 44 71 65 67 51 66 51 87 44 71 65 65 79 52 74 44 75 65 65 77 122 68 44 69 65 65 75 112 74 44 75 65 65 77 44 75 65 65 77 44 67 65 65 69 52 90 44 73 65 65 81 114 87 44 81 65 69 114 67 48 109 66 44 69 65 65 107 66 55 103 66 44 73 65 67 116 66 52 103 66 44 69 65 65 103 66 112 112 66 44 75 65 65 77 50 110 66 44 71 65 71 110 66 121 66 44 69 65 65 103 66 122 109 66 44 81 65 67 112 66 105 109 66 44 69 65 65 97 53 111 66 44 75 65 65 77 44 67 65 65 69 54 67 44 75 65 65 77 109 87 44 69 65 65 75 52 79 44 83 65 65 85 119 66 44 73 65 89 57 67 44 79 65 76 65 112 81 44 69 65 65 77 53 90 44 75 65 67 68 105 112 66 44 69 65 65 103 66 84 44 69 65 65 83 106 108 66 44 81 65 67 55 66 105 109 66 44 69 65 65 97 53 111 66 44 75 65 65 77 44 67 65 65 69 54 67 44 75 65 65 77 109 87 44 69 65 65 75 52 79 44 83 65 65 85 65 44 69 65 65 83 108 111 66 44 77 65 65 79 50 111 66 44 75 65 71 112 68 79 44 71 65 71 82 85 44 81 65 65 83 44 83 65 65 85 120 109 66 44 69 65 65 77 121 109 66 44 71 65 67 120 66 47 112 66 44 79 65 65 79 43 103 66 44 101 65 65 103 66 108 101 44 71 65 65 79 109 110 66 44 77 65 65 77 120 109 66 44 85 65 65 87 70 44 69 65 65 77 44 67 65 67 112 68 50 109 66 44 89 65 65 89 44 69 65 67 90 106 74 44 99 65 65 99 44 69 65 69 100 112 100 44 73 65 65 75 51 67 44 69 65 65 89 56 111 66 44 71 65 67 104 66 44 87 65 67 67 44 71 65 65 75 110 113 66 44 75 65 65 75 115 113 66 44 99 65 67 84 44 79 65 65 79 72 44 69 65 65 77 110 113 66 44 75 65 65 75 115 113 66 44 103 66 65 71 112 66 44 87 65 67 67 44 71 65 65 75 116 113 66 44 75 65 65 75 115 113 66 44 99 65 67 84 44 79 65 65 79 116 113 66 44 75 65 65 75 115 113 66 44 99 65 65 101 53 109 66 44 73 65 73 57 66 50 100 44 73 65 65 75 44 83 65 65 85 116 90 44 71 65 67 100 51 72 44 79 65 65 79 43 103 66 44 101 65 65 103 66 110 104 66 44 75 65 65 77 48 68 44 69 65 65 77 44 67 65 67 108 67 50 109 66 44 89 65 65 89 44 69 65 67 90 106 74 44 99 65 65 99 44 69 65 67 100 109 74 44 85 65 65 85 44 69 65 67 86 120 105 66 44 77 65 65 79 65 44 81 65 77 88 48 104 66 44 73 65 65 75 44 83 65 65 85 97 44 71 65 67 100 44 79 65 65 79 65 44 69 65 65 101 114 110 66 44 71 65 65 79 105 68 44 83 65 67 53 66 111 107 66 44 69 65 67 65 44 73 65 65 73 114 110 66 44 71 65 65 79 109 110 66 44 77 65 65 79 69 44 73 65 71 112 66 118 77 44 81 65 65 83 44 67 65 67 82 121 77 44 75 65 65 77 44 67 65 71 76 67 44 85 65 65 85 44 71 65 69 88 67 44 77 65 65 79 44 67 65 71 78 120 66 44 77 65 65 79 44 83 65 65 85 53 72 44 71 65 73 104 66 44 73 65 65 73 53 83 44 69 65 65 75 49 79 44 77 65 65 81 115 104 66 44 69 65 87 106 66 44 79 65 82 75 117 68 44 71 65 65 101 112 100 44 75 65 65 77 105 72 44 69 65 65 71 47 77 44 79 65 67 53 66 43 77 44 69 65 65 71 103 99 44 79 65 65 83 108 110 66 44 71 65 65 85 107 76 44 69 65 65 73 44 85 65 71 49 66 43 89 44 71 65 65 103 66 47 89 44 69 65 65 73 44 83 65 65 83 44 73 65 73 118 66 44 71 65 69 82 117 90 44 81 65 65 83 44 83 65 65 85 51 71 44 71 65 73 108 66 44 73 65 65 73 53 83 44 69 65 65 75 49 79 44 77 65 65 81 115 104 66 44 69 65 85 106 66 44 79 65 80 75 117 68 44 71 65 65 101 112 100 44 75 65 65 77 105 72 44 69 65 65 71 47 77 44 79 65 67 53 66 43 77 44 69 65 65 71 103 99 44 79 65 65 83 108 110 66 44 71 65 65 85 107 76 44 69 65 65 73 44 85 65 69 49 66 43 89 44 71 65 65 103 66 47 89 44 69 65 65 73 44 85 65 73 100 44 71 65 75 82 105 88 44 83 65 65 85 44 83 65 65 85 52 66 44 71 65 67 110 66 44 73 65 65 73 51 104 66 44 69 65 65 83 50 104 66 44 69 65 65 77 51 104 66 44 79 65 67 110 66 44 79 65 65 79 105 102 44 71 65 65 101 112 100 44 75 65 65 77 55 66 44 69 65 65 79 106 69 44 79 65 67 108 67 105 69 44 69 65 65 79 56 107 66 44 79 65 65 83 108 110 66 44 71 65 65 85 111 67 44 69 65 65 81 44 85 65 67 108 67 54 98 44 69 65 65 83 122 100 44 73 65 65 75 52 66 44 69 65 65 81 44 85 65 67 116 66 112 67 44 71 65 65 85 111 67 44 69 65 65 81 44 79 65 73 114 66 43 107 66 44 97 65 65 99 44 67 65 67 98 90 44 97 65 65 99 44 83 65 65 85 120 67 44 81 65 73 68 116 104 66 44 73 65 65 106 66 115 104 66 44 69 65 65 77 51 86 44 81 65 65 119 66 50 86 44 69 65 65 77 43 67 44 103 66 65 67 120 67 47 67 44 69 65 65 77 43 67 44 99 65 65 99 77 44 89 65 65 99 114 68 44 69 65 65 77 51 86 44 89 65 48 70 55 67 51 79 44 71 65 65 79 113 109 66 44 89 65 65 99 44 83 65 65 85 55 108 66 44 69 65 65 77 57 66 44 69 65 65 77 107 110 66 44 71 65 71 114 67 112 108 66 44 69 65 65 75 109 99 44 113 66 65 67 84 110 99 44 69 65 65 75 109 99 44 111 66 65 65 113 66 106 101 44 69 65 65 77 107 110 66 44 73 65 73 108 67 53 108 66 44 71 65 65 79 109 110 66 44 77 65 65 81 44 83 65 65 85 120 111 66 44 69 65 65 75 105 112 66 44 71 65 71 55 66 44 75 65 65 81 55 113 66 44 103 66 65 65 103 66 105 68 44 71 65 65 79 109 110 66 44 79 65 67 57 66 44 79 65 65 79 44 73 65 65 73 110 110 66 44 71 65 65 79 109 110 66 44 77 65 65 79 120 111 66 44 69 65 65 75 105 112 66 44 71 65 73 49 66 106 112 66 44 71 65 65 79 65 44 69 65 65 73 68 44 77 65 67 102 51 66 44 75 65 65 75 115 113 66 44 99 65 65 103 66 49 111 66 44 69 65 67 114 66 53 66 44 75 65 65 75 50 66 44 75 65 65 79 67 44 69 65 65 73 68 44 75 65 73 104 66 51 66 44 75 65 65 75 56 113 66 44 109 66 65 65 113 66 108 112 66 44 69 65 65 73 109 112 66 44 117 66 65 67 72 57 107 66 44 73 65 65 122 66 114 69 44 69 65 65 73 109 112 66 44 109 66 65 71 103 66 44 73 65 65 112 66 110 112 66 44 69 65 65 73 103 112 66 44 89 65 67 76 51 68 44 71 65 67 65 67 44 71 65 75 68 108 110 66 44 75 65 65 75 52 70 44 79 65 65 87 104 69 44 69 65 65 73 103 69 44 81 65 65 107 67 44 73 65 65 120 66 104 69 44 69 65 65 73 103 69 44 79 65 65 79 114 69 44 83 65 67 120 67 75 44 69 65 65 73 103 69 44 79 65 65 79 104 68 44 87 65 67 88 104 66 44 69 65 65 73 103 69 44 79 65 69 76 53 70 44 75 65 65 75 54 112 66 44 99 65 65 103 66 106 111 66 44 69 65 65 73 105 111 66 44 99 65 67 122 66 55 112 66 44 75 65 65 75 103 114 66 44 99 65 65 103 66 112 112 66 44 69 65 65 73 111 112 66 44 101 65 73 122 66 104 114 66 44 75 65 65 75 50 66 44 75 65 65 79 67 44 69 65 73 82 105 112 66 44 71 65 67 74 53 110 66 44 71 65 65 79 115 67 44 79 65 65 81 118 70 44 75 65 65 77 54 113 66 44 71 65 73 116 66 55 113 66 44 75 65 65 75 105 114 66 44 85 65 65 89 114 112 66 44 71 65 65 79 65 44 69 65 65 73 113 112 66 44 87 65 65 97 67 44 75 65 65 75 67 44 77 65 71 57 67 110 114 66 44 75 65 65 77 105 68 44 71 65 65 79 105 68 44 85 65 65 89 44 71 65 75 49 66 106 68 44 71 65 65 79 109 110 66 44 77 65 65 77 120 109 66 44 85 65 65 89 44 67 65 67 120 66 69 44 89 65 65 97 98 44 71 65 65 79 109 110 66 44 77 65 67 112 66 85 44 109 66 65 65 111 66 53 68 44 71 65 67 112 66 48 67 44 113 66 65 65 115 66 49 67 44 71 65 67 116 66 103 66 44 56 66 65 65 43 66 104 66 44 71 65 67 47 66 107 69 44 97 65 65 97 44 69 65 69 98 112 68 44 101 65 65 103 66 44 87 65 67 102 44 73 65 65 73 114 98 44 69 65 65 73 51 77 44 75 65 65 75 115 113 66 44 99 65 69 98 116 113 66 44 75 65 65 75 56 113 66 44 109 66 65 65 113 66 55 68 44 71 65 69 114 66 116 97 44 73 65 65 77 51 77 44 75 65 65 75 111 114 66 44 97 65 67 102 122 101 44 69 65 65 69 113 98 44 107 66 65 71 74 70 44 103 66 65 65 105 66 44 87 65 67 104 66 44 73 65 65 73 110 98 44 69 65 65 73 51 77 44 75 65 65 75 115 113 66 44 99 65 69 98 116 113 66 44 75 65 65 75 52 112 66 44 113 66 65 65 117 66 51 67 44 71 65 69 118 66 116 97 44 73 65 65 77 51 77 44 75 65 65 75 111 114 66 44 97 65 67 102 122 101 44 69 65 65 69 109 98 44 109 66 65 71 74 67 44 121 66 65 65 48 66 44 87 65 67 122 66 44 73 65 65 73 112 98 44 69 65 65 73 51 77 44 75 65 65 75 115 113 66 44 99 65 69 98 116 113 66 44 75 65 65 75 107 111 66 44 56 66 65 65 103 67 106 66 44 71 65 69 104 67 116 97 44 73 65 65 77 51 77 44 75 65 65 75 111 114 66 44 97 65 67 102 122 101 44 69 65 65 69 111 98 44 50 66 65 71 72 47 110 66 44 75 65 65 75 56 110 66 44 111 66 65 75 80 55 107 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 56 109 66 44 81 65 65 81 44 69 65 67 82 67 44 83 65 65 83 44 69 65 67 84 67 44 89 65 65 89 44 69 65 67 90 67 44 103 66 65 65 103 66 44 69 65 67 104 66 67 44 83 65 65 83 44 69 65 67 84 67 44 81 65 65 81 44 69 65 67 82 67 44 89 65 65 89 44 69 65 67 90 67 44 83 65 65 83 44 69 65 67 84 67 44 79 65 65 79 44 69 65 67 80 67 44 79 65 65 79 44 69 65 67 80 67 44 85 65 65 85 44 69 65 67 86 67 44 77 65 65 77 44 69 65 67 78 67 44 81 65 65 81 44 69 65 67 82 106 113 66 44 77 65 65 77 44 69 65 67 78 107 113 66 44 85 65 65 85 44 69 65 67 86 55 100 44 75 65 65 75 44 69 65 67 76 56 100 44 83 65 65 83 44 69 65 67 84 49 88 44 81 65 65 81 44 69 65 67 82 50 88 44 83 65 65 83 44 69 65 67 84 67 44 83 65 65 83 44 69 65 67 84 67 44 83 65 65 83 44 69 65 67 84 67 44 83 65 65 83 44 69 65 67 84 67 44 83 65 65 83 44 69 65 67 84 67 44 87 65 65 87 44 69 65 67 88 67 44 97 65 65 97 44 69 65 67 98 67 44 83 65 65 83 44 69 65 67 84 67 44 83 65 65 83 44 69 65 67 84 67 44 101 65 65 101 44 69 65 67 102 67 44 87 65 65 87 44 69 65 67 88 67 44 83 65 65 83 44 69 65 67 84 67 44 79 65 65 79 44 71 65 67 76 47 112 66 44 71 65 65 79 115 107 66 44 77 65 65 77 50 67 44 83 65 69 104 66 106 110 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 111 80 44 77 65 65 79 44 85 65 65 87 115 90 44 75 65 65 77 44 89 65 65 99 44 83 65 65 85 116 114 66 44 69 65 65 77 107 109 66 44 71 65 69 112 69 44 83 65 65 83 113 70 44 69 65 65 111 66 51 68 44 71 65 67 53 66 44 71 65 65 75 51 112 66 44 69 65 65 83 117 116 66 44 97 65 65 101 44 67 65 83 53 66 44 73 65 65 73 116 69 44 69 65 65 83 112 72 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 44 85 65 67 104 67 117 110 66 44 69 65 65 81 116 107 66 44 71 65 65 79 115 107 66 44 77 65 65 77 107 67 44 73 65 65 75 70 44 71 65 67 51 66 104 67 44 69 65 65 77 53 108 66 44 75 65 65 52 66 44 89 65 65 114 66 52 110 66 44 69 65 65 89 53 110 66 44 75 65 65 113 66 44 81 65 65 85 44 79 65 67 120 68 52 108 66 44 69 65 65 77 54 68 44 97 65 65 99 44 69 65 71 112 66 118 67 44 69 65 65 81 85 44 71 65 77 72 104 67 44 69 65 65 77 51 104 66 44 83 65 65 87 50 104 66 44 69 65 65 77 115 67 44 101 65 75 51 66 104 66 44 69 65 65 81 116 66 44 81 65 77 84 116 107 66 44 71 65 65 79 115 107 66 44 77 65 65 77 54 70 44 83 65 65 85 118 70 44 69 65 65 99 48 66 44 69 65 65 89 51 106 66 44 79 65 67 104 68 51 67 44 71 65 65 79 115 107 66 44 77 65 65 77 107 67 44 73 65 65 75 70 44 73 65 73 114 66 116 109 66 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 71 65 65 83 44 67 65 71 57 66 117 110 66 44 77 65 65 79 44 87 65 69 78 44 73 65 65 73 109 69 44 69 65 79 74 44 71 65 70 65 53 70 44 71 65 65 103 66 122 110 66 44 75 65 65 77 50 66 44 71 65 65 77 44 73 65 69 118 66 47 66 44 69 65 65 83 117 116 66 44 97 65 99 98 44 79 65 65 79 44 71 65 82 80 69 44 69 65 65 87 53 76 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 54 110 66 44 75 65 69 57 66 55 110 66 44 75 65 65 75 117 80 44 105 66 65 65 107 66 115 89 44 69 65 65 99 113 70 44 71 65 69 116 67 122 76 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 54 110 66 44 71 65 65 103 66 119 70 44 71 65 65 89 44 71 65 65 77 44 73 65 79 120 68 112 70 44 81 65 65 83 44 87 65 77 82 44 79 65 72 65 82 44 71 65 65 103 66 122 110 66 44 75 65 65 77 50 66 44 73 65 71 102 44 71 65 71 82 48 110 66 44 83 65 65 85 44 87 65 67 84 44 73 65 65 73 103 69 44 69 65 69 74 44 73 65 65 75 122 116 66 44 69 65 65 83 117 116 66 44 97 65 87 98 44 79 65 65 79 44 71 65 86 80 69 44 69 65 65 87 53 76 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 54 110 66 44 71 65 65 105 66 44 71 65 75 47 67 112 71 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 54 110 66 44 69 65 65 99 119 70 44 73 65 72 108 67 114 116 66 44 75 65 65 75 52 102 44 111 66 65 65 113 66 105 73 44 69 65 65 99 113 70 44 71 65 67 120 67 122 76 44 69 65 65 83 108 70 44 79 65 65 81 118 99 44 75 65 65 77 54 110 66 44 75 65 97 49 66 108 67 44 83 65 65 85 44 83 65 65 85 52 66 44 71 65 67 110 66 44 79 65 65 79 57 70 44 69 65 65 83 122 100 44 73 65 65 75 117 106 66 44 69 65 65 77 51 104 66 44 79 65 65 81 106 69 44 73 65 71 112 67 107 109 66 44 97 65 65 99 65 44 71 65 101 102 53 107 66 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 56 74 44 71 65 65 105 66 44 67 65 67 116 67 113 66 44 77 65 65 79 44 87 65 73 78 44 73 65 65 73 104 110 66 44 69 65 65 77 108 67 44 75 65 65 75 117 72 44 101 65 65 105 66 118 72 44 75 65 65 75 74 44 85 65 65 89 73 44 75 65 67 104 68 115 116 66 44 69 65 65 97 49 116 66 44 69 65 65 83 117 116 66 44 97 65 65 101 110 116 66 44 75 65 65 79 107 67 44 69 65 67 53 67 109 114 66 44 69 65 65 87 53 76 44 69 65 65 83 122 100 44 73 65 65 75 115 112 66 44 69 65 65 89 122 70 44 71 65 77 104 67 119 70 44 73 65 67 65 122 116 66 44 69 65 65 83 117 116 66 44 97 65 67 98 110 116 66 44 75 65 65 75 117 80 44 105 66 65 65 107 66 115 89 44 69 65 65 99 113 70 44 71 65 69 114 67 104 114 66 44 69 65 65 73 113 78 44 105 66 65 65 107 66 53 78 44 69 65 65 77 117 114 66 44 71 65 65 111 66 44 73 65 71 108 68 122 76 44 69 65 65 83 74 44 73 65 65 75 105 77 44 69 65 65 89 122 70 44 71 65 65 103 66 119 70 44 71 65 65 89 44 71 65 65 77 44 73 65 69 55 68 104 69 44 83 65 65 85 44 87 65 67 84 44 73 65 65 73 110 110 66 44 69 65 65 77 108 67 44 75 65 65 75 117 72 44 101 65 65 105 66 118 72 44 75 65 65 75 74 44 85 65 65 89 73 44 75 65 67 104 68 115 116 66 44 69 65 65 97 49 116 66 44 69 65 65 83 117 116 66 44 97 65 65 101 110 116 66 44 75 65 65 79 107 67 44 69 65 67 53 67 109 114 66 44 69 65 65 87 53 76 44 69 65 65 83 122 100 44 73 65 65 75 115 112 66 44 69 65 65 89 122 70 44 71 65 65 105 66 44 69 65 69 106 68 119 70 44 69 65 81 76 53 76 44 69 65 65 83 74 44 73 65 65 75 105 77 44 69 65 65 89 122 70 44 69 65 65 99 119 70 44 73 65 80 110 67 122 116 66 44 69 65 65 83 117 116 66 44 97 65 67 98 110 116 66 44 75 65 65 75 52 102 44 111 66 65 65 113 66 105 73 44 69 65 65 99 113 70 44 71 65 69 120 67 104 114 66 44 69 65 65 73 48 100 44 111 66 65 65 113 66 106 101 44 69 65 65 77 117 114 66 44 71 65 65 111 66 44 71 65 69 112 68 122 76 44 69 65 65 83 108 70 44 79 65 65 81 43 81 44 69 65 65 89 122 70 44 81 65 103 66 106 67 53 107 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 103 112 66 44 87 65 65 89 44 89 65 67 90 67 44 87 65 65 89 44 87 65 67 90 67 44 97 65 65 99 44 99 65 67 100 67 44 97 65 65 99 44 99 65 67 90 44 83 65 65 85 67 44 69 65 65 77 108 69 44 71 65 67 108 66 120 109 66 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 52 80 44 71 65 65 83 44 67 65 67 57 66 57 70 44 97 65 65 99 52 66 44 69 65 67 100 84 44 83 65 65 85 83 44 69 65 69 86 90 44 79 65 65 81 44 83 65 65 85 116 66 44 71 65 67 106 66 44 73 65 65 73 110 106 66 44 69 65 69 72 119 112 66 44 69 65 65 85 114 71 44 69 65 65 77 121 68 44 99 65 67 104 66 122 67 44 69 65 65 89 104 66 44 69 65 65 77 103 66 44 85 65 83 110 66 44 79 65 76 77 113 70 44 73 65 65 97 65 44 73 65 78 84 53 116 66 44 77 65 77 103 67 105 68 44 71 65 65 79 119 70 44 83 65 78 118 67 122 73 44 75 65 77 121 68 52 116 66 44 77 65 67 108 69 114 71 44 69 65 65 77 53 108 66 44 75 65 65 79 52 109 66 44 69 65 65 85 71 44 83 65 67 118 66 116 107 66 44 69 65 65 77 109 107 66 44 69 65 65 85 122 75 44 81 65 65 81 110 100 44 77 65 65 79 88 44 75 65 65 77 48 69 44 87 65 67 114 67 54 105 66 44 69 65 65 77 53 108 66 44 75 65 65 79 56 110 66 44 71 65 69 80 114 108 66 44 77 65 75 86 110 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 69 106 66 52 104 66 44 71 65 65 73 44 83 65 65 85 67 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 71 65 67 112 67 44 79 65 65 79 43 106 66 44 71 65 65 73 110 110 66 44 75 65 65 77 111 110 66 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 73 65 69 122 67 105 107 66 44 73 65 65 75 44 83 65 65 85 68 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 71 65 67 114 67 44 79 65 65 79 43 106 66 44 71 65 65 73 110 110 66 44 75 65 65 77 111 110 66 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 69 65 65 73 44 73 65 69 55 67 111 107 66 44 73 65 65 75 44 83 65 65 85 74 44 69 65 65 79 108 107 66 44 69 65 65 85 69 44 71 65 67 47 66 44 73 65 65 73 109 108 66 44 69 65 65 87 53 109 66 44 69 65 67 102 44 71 65 65 75 121 108 66 44 71 65 65 83 65 44 69 65 65 77 89 44 103 66 65 65 107 66 90 44 69 65 65 77 109 66 44 85 65 87 51 67 44 79 65 82 65 65 44 69 65 65 89 110 66 44 69 65 65 77 109 66 44 85 65 67 108 66 116 108 66 44 71 65 65 81 109 107 66 44 69 65 65 77 115 67 44 103 66 65 65 105 66 108 67 44 73 65 67 57 66 101 44 69 65 65 85 110 104 66 44 85 65 67 84 109 104 66 44 69 65 65 85 71 44 83 65 65 87 44 73 65 65 77 72 44 69 65 65 85 110 104 66 44 85 65 67 114 67 109 104 66 44 69 65 65 85 71 44 83 65 67 88 72 44 69 65 65 85 114 108 66 44 83 65 67 86 113 108 66 44 69 65 65 85 122 75 44 83 65 69 74 57 100 44 75 65 69 82 44 71 65 65 115 66 44 105 66 65 65 86 111 110 66 44 69 65 65 113 66 44 67 65 71 104 67 44 73 65 65 77 122 108 66 44 75 65 65 81 121 108 66 44 69 65 67 98 112 110 66 44 75 65 65 75 119 110 66 44 73 65 65 75 55 108 66 44 69 65 65 77 117 66 44 69 65 65 85 107 107 66 44 69 65 65 79 122 108 66 44 73 65 69 108 67 44 79 65 65 79 51 66 44 75 65 87 82 44 79 65 84 107 66 44 73 65 65 98 107 68 44 71 65 65 48 67 44 109 66 65 65 98 65 44 73 65 71 106 67 69 44 69 65 65 75 70 44 69 65 67 76 65 44 79 65 65 87 43 67 44 73 65 69 65 44 73 65 65 80 55 67 44 73 65 67 74 65 44 69 65 65 75 56 106 66 44 73 65 69 67 108 110 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 116 66 44 71 65 65 79 115 107 66 44 77 65 65 77 104 76 44 79 65 65 81 118 99 44 75 65 65 77 111 110 66 44 69 65 65 79 104 107 66 44 69 65 65 73 70 44 81 65 77 122 67 44 73 65 75 67 50 113 66 44 71 65 65 101 44 119 66 65 71 102 67 44 71 65 65 87 44 111 67 65 69 88 67 44 71 65 65 101 44 54 66 65 71 104 66 44 83 65 65 83 67 44 71 65 65 111 66 118 113 66 44 69 65 65 77 105 88 44 71 65 67 108 67 44 79 65 65 75 108 88 44 71 65 65 85 67 44 69 65 65 77 44 85 65 67 112 66 68 44 71 65 65 43 66 44 75 65 65 114 66 107 88 44 69 65 65 81 110 90 44 83 65 65 107 66 109 90 44 69 65 65 85 65 44 69 65 65 81 104 73 44 87 65 65 89 44 79 65 69 51 68 122 80 44 71 65 65 81 81 44 71 65 65 79 43 86 44 83 65 65 85 44 83 65 65 87 44 73 65 71 114 67 47 86 44 69 65 73 82 44 83 65 65 83 119 113 66 44 71 65 65 101 120 113 66 44 71 65 69 118 66 44 79 65 68 65 65 44 69 65 65 75 57 66 44 77 65 65 121 67 44 79 65 65 104 67 56 66 44 69 65 65 75 106 66 44 97 65 65 99 44 83 65 65 115 66 44 73 65 65 77 105 66 44 69 65 65 75 57 66 44 75 65 67 51 68 56 66 44 69 65 69 82 44 83 65 65 83 121 113 66 44 71 65 65 101 122 113 66 44 71 65 79 118 66 44 77 65 78 50 67 44 87 65 65 112 67 65 44 69 65 65 75 57 66 44 77 65 65 81 44 73 65 65 75 114 66 44 77 65 65 79 44 69 65 65 71 44 71 65 67 108 67 109 68 44 69 65 65 75 57 66 44 75 65 65 79 56 66 44 69 65 65 75 57 66 44 75 65 65 75 114 66 44 77 65 65 79 44 71 65 69 55 66 109 68 44 69 65 65 75 119 75 44 103 66 65 65 105 66 44 81 65 71 104 66 120 75 44 69 65 71 82 44 83 65 65 83 48 113 66 44 71 65 65 103 66 118 115 66 44 69 65 65 75 119 115 66 44 71 65 67 55 66 44 73 65 65 73 106 115 66 44 69 65 65 71 50 88 44 69 65 65 71 110 89 44 69 65 65 103 66 48 115 66 44 69 65 65 85 67 44 69 65 65 85 106 71 44 69 65 69 57 67 44 71 65 65 117 66 44 73 65 65 108 66 43 70 44 69 65 65 75 55 115 66 44 83 65 65 86 44 67 65 75 65 44 71 65 65 75 107 103 66 44 69 65 65 83 68 44 81 65 65 83 53 102 44 75 65 69 116 66 121 109 66 44 69 65 68 87 53 71 44 69 65 65 83 122 100 44 73 65 65 75 112 67 44 71 65 67 80 121 109 66 44 81 65 75 106 66 44 73 65 65 77 49 109 66 44 75 65 70 78 56 102 44 69 65 65 83 108 70 44 79 65 65 81 54 82 44 69 65 65 77 44 105 66 65 69 84 47 70 44 69 65 67 98 44 73 65 65 77 108 109 66 44 69 65 65 73 44 69 65 65 71 50 88 44 69 65 65 73 117 79 44 69 65 65 81 49 109 66 44 71 65 65 79 52 66 44 79 65 65 81 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 57 67 99 44 71 65 65 79 115 107 66 44 77 65 65 77 114 78 44 73 65 65 75 107 85 44 69 65 65 77 122 115 66 44 69 65 65 77 48 109 66 44 69 65 65 81 49 109 66 44 71 65 65 81 81 44 73 65 79 55 67 117 102 44 69 65 65 83 70 44 81 65 65 83 53 102 44 75 65 67 116 66 121 115 66 44 69 65 65 87 51 77 44 69 65 65 83 122 66 44 79 65 65 81 114 101 44 71 65 67 53 66 48 115 66 44 69 65 65 87 114 114 66 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 56 111 66 44 71 65 69 57 66 51 77 44 69 65 65 83 76 44 73 65 65 75 43 77 44 69 65 65 77 69 44 75 65 107 66 116 66 44 83 65 65 83 67 44 71 65 65 85 67 44 69 65 65 89 51 98 44 69 65 65 77 114 79 44 69 65 65 85 105 105 66 44 71 65 71 57 67 53 84 44 69 65 65 79 116 83 44 69 65 65 77 115 83 44 71 65 69 98 44 73 65 65 73 43 84 44 69 65 65 85 106 105 66 44 69 65 65 79 52 104 66 44 69 65 65 83 107 73 44 69 65 65 89 120 115 66 44 69 65 65 77 67 44 69 65 67 47 67 67 44 69 65 65 73 44 69 65 67 74 50 88 44 69 65 65 73 48 85 44 69 65 65 87 106 114 66 44 79 65 67 102 109 114 66 44 69 65 65 87 53 85 44 69 65 65 73 44 69 65 67 102 47 82 44 69 65 65 81 56 75 44 69 65 65 77 44 71 65 67 100 56 98 44 69 65 65 107 66 116 116 66 44 69 65 65 89 48 71 44 71 65 71 47 66 44 71 65 65 75 52 109 66 44 71 65 67 71 44 69 65 65 74 55 85 44 71 65 65 48 66 44 105 66 65 65 86 47 82 44 73 65 67 104 66 51 71 44 71 65 65 81 54 106 66 44 89 65 65 99 54 73 44 71 65 65 83 114 109 66 44 75 65 65 77 77 44 71 65 67 120 67 44 79 65 65 79 121 109 66 44 69 65 65 87 106 113 66 44 75 65 65 77 44 83 65 65 85 121 86 44 71 65 67 106 67 44 73 65 65 73 100 44 69 65 65 79 115 86 44 69 65 65 87 53 112 66 44 71 65 65 73 111 86 44 71 65 67 114 66 50 85 44 73 65 67 74 57 98 44 69 65 65 77 44 71 65 65 77 57 75 44 69 65 65 77 116 72 44 75 65 65 77 84 44 75 65 65 77 103 97 44 69 65 65 79 100 44 69 65 65 75 48 86 44 83 65 69 51 67 76 44 71 65 65 85 114 86 44 69 65 65 77 114 71 44 69 65 65 77 114 79 44 69 65 65 85 105 105 66 44 75 65 73 108 67 44 71 65 65 75 51 77 44 73 65 69 74 110 86 44 71 65 68 65 105 105 66 44 69 65 65 87 78 44 71 65 65 101 122 84 44 69 65 65 77 50 98 44 69 65 65 89 44 71 65 65 73 106 110 66 44 101 65 65 101 44 69 65 65 79 105 110 66 44 69 65 65 89 47 72 44 73 65 67 106 69 47 84 44 87 65 69 109 66 44 73 65 65 47 66 107 85 44 69 65 65 83 108 97 44 87 65 65 87 110 74 44 83 65 67 120 66 113 106 66 44 69 65 65 87 106 105 66 44 71 65 73 80 65 44 71 65 65 83 56 104 66 44 71 65 65 85 44 67 65 79 118 66 44 73 65 76 65 103 73 44 71 65 68 65 108 73 44 69 65 65 85 116 106 66 44 71 65 65 79 119 66 44 73 65 65 75 109 104 66 44 71 65 65 81 103 66 44 69 65 65 85 44 85 65 65 89 113 72 44 75 65 67 47 66 49 113 66 44 79 65 75 98 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 100 70 44 69 65 65 79 50 107 66 44 69 65 69 70 122 107 66 44 73 65 65 77 117 115 66 44 73 65 67 86 122 115 66 44 69 65 65 79 103 66 44 71 65 65 79 48 67 44 77 65 65 79 49 68 44 71 65 65 77 44 71 65 65 77 44 71 65 71 53 66 119 115 66 44 71 65 73 74 120 114 66 44 71 65 65 79 111 66 44 77 65 65 79 107 105 66 44 69 65 65 83 88 44 71 65 65 81 51 106 66 44 69 65 65 77 44 89 65 73 118 67 117 67 44 69 65 65 83 47 68 44 75 65 65 77 43 116 66 44 69 65 65 89 114 115 66 44 71 65 65 75 70 44 69 65 65 77 69 44 71 65 71 118 67 44 71 65 65 75 115 115 66 44 69 65 79 74 44 73 65 78 65 118 115 66 44 69 65 65 77 113 107 66 44 69 65 65 83 65 44 69 65 65 81 104 106 66 44 79 65 65 83 44 71 65 65 73 103 69 44 99 65 71 112 67 116 69 44 71 65 65 79 119 66 44 73 65 65 75 56 104 66 44 69 65 65 83 50 72 44 73 65 71 102 47 114 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 115 115 66 44 69 65 65 89 116 115 66 44 73 65 67 53 66 70 44 69 65 65 79 115 107 66 44 69 65 65 83 112 107 66 44 71 65 67 88 52 105 66 44 71 65 65 89 116 100 44 75 65 65 77 120 70 44 69 65 65 75 78 44 77 65 65 81 44 77 65 67 108 67 56 102 44 69 65 65 83 120 66 44 79 65 65 81 104 101 44 69 65 65 77 44 101 65 67 120 66 103 66 44 71 65 65 79 119 70 44 83 65 65 85 118 71 44 69 65 65 75 68 44 75 65 69 106 66 65 44 69 65 65 75 76 44 75 65 65 56 67 44 89 65 65 114 67 75 44 69 65 65 75 78 44 77 65 65 81 44 73 65 65 75 103 67 44 99 65 71 47 66 86 44 71 65 65 79 52 114 66 44 87 65 65 97 53 115 66 44 69 65 65 75 72 44 85 65 67 55 66 109 66 44 71 65 65 79 52 114 66 44 83 65 65 85 53 115 66 44 69 65 65 75 76 44 73 65 65 75 44 67 65 67 49 66 67 44 77 65 65 79 73 44 69 65 65 75 74 44 79 65 65 83 73 44 69 65 65 75 79 44 97 65 65 99 44 85 65 67 116 67 78 44 71 65 83 74 72 44 69 65 65 83 69 44 69 65 65 75 54 69 44 89 65 65 89 84 44 81 65 65 83 48 110 66 44 71 65 65 99 44 73 65 65 77 57 114 66 44 69 65 65 77 67 44 73 65 81 110 69 44 79 65 65 79 115 115 66 44 69 65 71 82 44 83 65 65 83 106 83 44 71 65 65 81 57 89 44 69 65 65 77 80 44 69 65 65 85 52 114 66 44 71 65 75 104 67 44 73 65 74 65 44 73 65 65 73 55 115 66 44 69 65 67 72 52 107 66 44 69 65 65 81 51 106 66 44 69 65 65 87 68 44 71 65 65 79 52 77 44 79 65 65 81 51 77 44 69 65 65 85 79 44 71 65 65 83 65 44 69 65 67 114 68 116 66 44 69 65 65 73 44 69 65 69 52 66 44 79 65 65 118 66 70 44 69 65 65 79 52 107 66 44 69 65 65 79 49 107 66 44 73 65 65 101 65 44 73 65 67 104 67 50 115 66 44 71 65 65 56 66 44 73 65 65 108 66 55 115 66 44 69 65 65 75 86 44 85 65 67 116 66 48 66 44 71 65 65 79 56 114 66 44 85 65 65 87 110 74 44 71 65 65 81 51 106 66 44 73 65 71 116 66 65 44 69 65 65 75 87 44 97 65 67 74 107 115 66 44 71 65 65 89 51 76 44 69 65 65 89 108 104 66 44 73 65 67 53 66 52 106 66 44 71 65 65 101 68 44 71 65 65 81 51 106 66 44 69 65 65 77 44 87 65 69 57 66 65 44 69 65 65 75 87 44 87 65 65 87 67 44 89 65 65 97 90 44 73 65 73 47 66 44 79 65 65 79 119 66 44 69 65 71 82 82 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 117 104 66 44 99 65 65 101 44 83 65 65 85 56 72 44 71 65 67 120 66 44 79 65 65 79 65 44 71 65 71 82 106 112 66 44 77 65 65 79 44 83 65 65 85 108 67 44 69 65 65 77 117 114 66 44 69 65 65 101 67 44 71 65 67 114 67 44 73 65 65 73 57 115 66 44 69 65 65 71 50 88 44 69 65 65 71 111 86 44 69 65 65 97 67 44 69 65 49 73 78 118 116 66 44 69 65 65 75 119 115 66 44 69 65 67 110 66 53 113 66 44 69 65 48 73 70 109 67 44 69 65 65 81 108 67 44 69 65 65 75 121 104 66 44 87 65 65 87 44 71 65 67 120 66 107 75 44 69 65 65 83 106 77 44 69 65 65 89 49 102 44 71 65 71 116 66 44 75 65 65 77 114 67 44 71 65 65 81 43 106 66 44 103 66 65 65 115 67 44 73 65 65 108 66 49 104 66 44 69 65 65 75 108 67 44 85 65 65 111 67 44 75 65 65 108 66 107 67 44 69 65 65 75 108 67 44 85 65 67 51 68 48 66 44 71 65 65 79 107 69 44 83 65 65 85 49 68 44 73 65 79 110 66 44 73 65 72 65 48 114 66 44 69 65 65 101 118 74 44 71 65 65 81 106 103 66 44 71 65 71 106 66 120 68 44 69 65 65 73 44 69 65 65 71 50 88 44 71 65 70 98 111 86 44 69 65 65 99 116 74 44 71 65 65 81 110 105 66 44 73 65 69 79 70 44 79 65 65 81 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 118 74 53 66 80 44 69 65 119 74 76 115 116 66 44 69 65 65 97 47 115 66 44 71 65 120 74 72 105 115 66 44 69 65 119 74 81 101 44 69 65 65 99 104 116 66 44 81 65 118 74 122 67 113 66 44 69 65 71 99 44 87 65 72 100 65 44 69 65 65 87 52 113 66 44 69 65 65 75 53 113 66 44 83 65 65 83 71 44 103 66 65 71 65 107 104 66 44 71 65 65 101 112 100 44 75 65 65 77 55 70 44 69 65 65 73 68 44 77 65 67 114 68 121 115 66 44 69 65 65 75 106 97 44 81 65 65 85 118 83 44 69 65 65 73 117 83 44 81 65 71 75 44 85 65 65 98 51 81 44 71 65 65 113 67 44 97 65 65 98 65 44 73 65 67 110 67 52 113 66 44 69 65 65 75 104 74 44 97 65 65 101 120 106 66 44 69 65 65 73 119 106 66 44 99 65 111 74 120 66 44 71 65 65 75 52 74 44 69 65 67 74 44 71 65 65 75 67 44 69 65 73 74 44 73 65 72 65 67 44 69 65 65 99 65 44 71 65 65 101 116 74 44 71 65 65 81 110 105 66 44 71 65 67 114 67 48 114 66 44 69 65 65 101 65 44 71 65 65 103 66 118 74 44 71 65 65 81 106 103 66 44 71 65 69 106 67 120 68 44 69 65 65 73 44 69 65 65 71 50 88 44 69 65 65 73 111 86 44 69 65 65 89 51 114 66 44 79 65 65 81 112 66 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 67 51 67 103 115 66 44 71 65 65 103 66 101 44 69 65 65 97 47 115 66 44 71 65 65 75 103 116 66 44 69 65 65 99 104 116 66 44 83 65 71 106 68 103 115 66 44 71 65 65 103 66 49 113 66 44 69 65 65 77 107 67 44 71 65 87 120 66 44 79 65 76 50 66 44 71 65 68 51 66 119 112 66 44 69 65 65 101 118 74 44 71 65 65 81 106 103 66 44 69 65 65 79 44 87 65 67 90 112 67 44 81 65 67 106 66 115 105 66 44 71 65 65 101 115 74 44 71 65 65 101 67 44 71 65 65 85 120 74 44 71 65 65 81 110 105 66 44 69 65 65 77 44 87 65 73 104 68 107 67 44 71 65 71 82 111 112 66 44 85 65 65 87 44 83 65 65 85 53 113 66 44 71 65 75 112 66 44 73 65 74 65 44 73 65 65 73 109 100 44 69 65 65 77 55 100 44 69 65 65 77 57 66 44 69 65 67 102 111 99 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 67 118 66 53 98 44 69 65 65 73 44 79 65 69 54 66 56 68 44 75 65 65 120 66 120 67 44 69 65 65 79 85 44 69 65 65 79 104 67 44 73 65 65 113 66 65 44 73 65 67 53 67 44 71 65 65 75 52 101 44 69 65 65 89 116 100 44 71 65 65 83 44 67 65 67 122 66 44 71 65 65 79 54 100 44 69 65 65 79 55 100 44 69 65 65 77 103 101 44 69 65 65 83 118 98 44 83 65 65 99 44 67 65 67 49 67 44 71 65 65 75 111 98 44 69 65 65 75 43 71 44 79 65 67 84 44 73 65 65 77 49 109 66 44 75 65 65 81 50 102 44 69 65 65 75 43 71 44 79 65 67 98 116 75 44 69 65 65 83 112 99 44 71 65 67 98 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 104 76 44 79 65 65 81 57 89 44 69 65 65 77 57 66 44 71 65 73 51 66 115 66 44 71 65 65 79 113 109 66 44 89 65 65 97 55 108 66 44 69 65 65 77 57 66 44 69 65 65 77 50 102 44 69 65 65 75 117 72 44 81 65 79 120 67 112 108 66 44 69 65 65 77 103 101 44 69 65 65 83 118 98 44 99 65 65 89 68 44 69 65 69 118 66 120 67 44 69 65 65 77 105 101 44 69 65 65 83 120 98 44 87 65 73 110 66 122 67 44 69 65 65 77 105 101 44 69 65 65 83 120 98 44 99 65 65 89 68 44 79 65 79 104 67 104 68 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 56 112 66 44 79 65 65 81 44 83 65 65 85 110 115 66 44 71 65 67 106 66 44 79 65 65 79 113 90 44 71 65 65 81 118 99 44 75 65 65 77 107 68 44 71 65 65 85 44 73 65 71 104 67 113 90 44 79 65 65 81 44 83 65 65 85 114 90 44 71 65 67 106 66 44 79 65 65 79 113 90 44 71 65 65 81 118 99 44 75 65 65 77 107 68 44 73 65 71 116 66 88 44 75 65 65 77 44 83 65 65 85 119 70 44 71 65 67 102 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 43 72 44 71 65 67 57 66 44 89 65 65 105 66 57 66 44 73 65 65 86 56 66 44 69 65 67 78 57 69 44 71 65 65 79 86 44 75 65 65 77 118 67 44 77 65 67 98 65 44 75 65 65 75 115 85 44 81 65 65 81 47 80 44 75 65 65 77 44 87 65 67 75 44 73 65 65 108 66 118 69 44 75 65 65 75 117 66 44 85 65 65 111 67 44 75 65 65 108 66 118 66 44 75 65 65 75 117 66 44 85 65 65 113 67 44 73 65 65 108 66 118 66 44 75 65 65 75 117 66 44 87 65 67 120 68 118 66 44 75 65 65 75 56 71 44 89 65 65 99 105 66 44 77 65 71 112 66 44 75 65 65 77 65 44 69 65 65 79 114 68 44 85 65 65 85 110 66 44 83 65 71 51 66 43 114 66 44 79 65 65 81 44 87 65 67 80 44 79 65 65 79 102 44 71 65 65 85 118 117 66 44 75 65 65 77 48 69 44 85 65 65 87 44 83 65 65 85 106 66 44 71 65 67 112 66 44 73 65 65 108 66 122 68 44 75 65 65 75 117 66 44 85 65 65 111 67 44 75 65 65 108 66 118 66 44 75 65 65 75 117 66 44 85 65 65 113 67 44 73 65 65 108 66 118 66 44 75 65 65 75 117 66 44 85 65 67 51 67 121 115 66 44 71 65 65 111 66 104 117 66 44 75 65 65 77 121 68 44 71 65 67 104 67 100 44 89 65 65 97 99 44 77 65 75 118 66 56 114 66 44 81 65 65 83 44 87 65 67 82 44 79 65 65 79 104 66 44 71 65 65 85 118 117 66 44 75 65 65 77 48 69 44 85 65 65 87 44 83 65 65 85 106 66 44 71 65 67 51 67 44 71 65 65 117 66 44 73 65 65 108 66 122 68 44 75 65 65 75 117 66 44 85 65 65 111 67 44 75 65 65 108 66 118 66 44 75 65 65 75 117 66 44 85 65 65 113 67 44 73 65 65 108 66 118 66 44 75 65 65 75 117 66 44 83 65 65 105 66 44 67 65 67 122 69 44 73 65 65 73 113 69 44 69 65 65 83 111 111 66 44 71 65 65 111 66 104 117 66 44 75 65 65 77 121 68 44 71 65 67 118 67 109 67 44 69 65 65 79 52 112 66 44 97 65 65 99 47 114 66 44 69 65 65 77 109 67 44 69 65 65 79 56 77 44 103 66 65 75 114 67 43 99 44 79 65 65 81 44 87 65 67 80 44 79 65 65 79 108 66 44 71 65 65 85 118 117 66 44 75 65 65 77 48 69 44 85 65 65 87 44 83 65 65 85 106 66 44 71 65 67 116 67 122 68 44 75 65 65 75 52 67 44 89 65 67 84 53 67 44 75 65 65 75 52 67 44 87 65 65 87 52 115 66 44 97 65 65 99 47 114 66 44 69 65 65 77 122 68 44 83 65 75 118 67 48 118 66 44 77 65 65 79 44 87 65 67 78 44 79 65 65 79 110 66 44 71 65 65 85 118 117 66 44 75 65 65 77 48 69 44 85 65 65 87 44 83 65 65 85 106 66 44 71 65 67 116 67 122 68 44 75 65 65 75 52 67 44 89 65 67 84 53 67 44 75 65 65 75 52 67 44 87 65 65 87 52 115 66 44 97 65 65 99 47 114 66 44 69 65 65 77 122 68 44 75 65 65 75 117 85 44 103 66 65 75 53 67 68 44 77 65 65 79 44 87 65 73 78 44 73 65 72 65 44 73 65 65 73 55 81 44 69 65 67 72 116 66 44 69 65 65 73 44 69 65 69 50 66 44 79 65 65 116 66 115 66 44 69 65 65 79 122 68 44 75 65 65 77 109 67 44 73 65 65 101 65 44 73 65 67 100 44 73 65 65 108 66 115 66 44 69 65 65 75 108 67 44 87 65 71 84 48 66 44 71 65 65 79 56 114 66 44 85 65 65 87 110 74 44 71 65 65 81 110 105 66 44 71 65 65 77 44 73 65 71 104 67 65 44 69 65 65 75 113 68 44 89 65 65 99 44 73 65 73 114 66 44 79 65 65 79 57 71 44 77 65 71 82 50 70 44 77 65 65 79 44 83 65 65 85 113 112 66 44 69 65 65 101 67 44 71 65 73 47 66 44 79 65 72 65 68 44 69 65 65 105 67 44 77 65 65 106 66 65 44 71 65 65 103 67 65 44 69 65 67 104 68 67 44 69 65 65 121 67 44 77 65 65 114 66 65 44 69 65 65 52 66 68 44 69 65 65 103 66 67 44 69 65 69 122 68 106 118 66 44 75 65 65 75 121 69 44 73 65 65 75 44 87 65 67 104 66 44 79 65 65 79 120 66 44 71 65 65 79 48 67 44 77 65 65 79 51 70 44 75 65 65 77 103 118 66 44 69 65 65 101 67 44 77 65 73 53 67 76 44 75 65 65 77 44 83 65 65 85 55 109 66 44 71 65 67 102 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 43 72 44 71 65 67 57 66 44 73 65 65 73 116 69 44 69 65 65 79 122 68 44 75 65 65 77 44 73 65 65 79 44 71 65 67 118 66 109 67 44 69 65 65 73 44 69 65 67 74 50 88 44 69 65 65 73 57 90 44 75 65 65 75 117 68 44 79 65 69 86 44 81 65 65 101 48 67 44 73 65 65 86 56 66 44 71 65 65 121 67 44 73 65 65 108 66 116 69 44 69 65 65 75 108 67 44 83 65 67 104 67 44 79 65 65 79 107 67 44 69 65 65 75 48 77 44 85 65 73 98 44 71 65 65 115 66 44 105 66 65 65 86 112 73 44 73 65 65 117 66 56 108 66 44 71 65 65 97 112 109 66 44 75 65 65 77 77 44 75 65 67 112 68 117 100 44 73 65 65 87 82 44 71 65 65 83 122 88 44 75 65 65 77 116 70 44 73 65 65 87 44 67 65 65 69 44 71 65 65 73 44 75 65 65 81 44 71 65 65 73 112 69 44 101 65 65 107 66 44 67 65 69 49 69 111 69 44 69 65 65 81 57 69 44 71 65 65 79 54 106 66 44 99 65 65 101 47 101 44 71 65 69 57 66 44 73 65 67 67 44 75 65 65 81 53 70 44 69 65 65 73 50 88 44 69 65 65 71 51 88 44 73 65 73 83 44 75 65 72 118 66 115 66 44 69 65 65 79 122 68 44 75 65 65 77 109 67 44 73 65 65 79 44 73 65 71 86 90 44 87 65 67 84 48 66 44 71 65 65 79 56 114 66 44 85 65 65 87 110 74 44 71 65 65 81 110 105 66 44 71 65 65 77 44 73 65 67 104 67 65 44 69 65 65 75 48 77 44 85 65 65 89 112 73 44 71 65 73 110 66 116 69 44 69 65 65 79 44 69 65 71 78 44 77 65 65 81 107 74 44 75 65 71 78 108 74 44 71 65 67 74 122 68 44 75 65 65 75 115 85 44 81 65 65 81 103 98 44 79 65 65 81 118 110 66 44 73 65 69 112 66 44 75 65 65 77 65 44 69 65 65 79 114 68 44 85 65 65 85 110 66 44 83 65 71 51 66 111 115 66 44 89 65 65 97 44 87 65 67 90 44 73 65 65 73 108 74 44 69 65 65 85 44 71 65 71 100 44 79 65 65 79 56 72 44 71 65 65 85 118 117 66 44 75 65 65 77 48 69 44 85 65 65 87 44 83 65 65 85 106 66 44 71 65 67 51 67 44 73 65 65 73 56 79 44 69 65 65 83 118 83 44 75 65 65 75 52 67 44 87 65 69 98 75 44 71 65 65 79 105 69 44 81 65 65 83 108 72 44 75 65 65 77 121 109 66 44 71 65 65 89 44 73 65 67 116 67 120 106 66 44 71 65 65 79 56 114 66 44 85 65 65 87 110 74 44 71 65 65 81 53 108 66 44 79 65 67 114 66 117 83 44 71 65 67 74 65 44 69 65 65 79 113 100 44 97 65 65 99 110 115 66 44 69 65 65 77 122 68 44 81 65 75 51 66 121 109 66 44 77 65 73 76 120 106 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 115 114 66 44 83 65 65 85 44 83 65 67 86 67 44 85 65 65 87 44 85 65 67 88 78 44 97 65 65 99 44 83 65 67 100 79 44 89 65 65 97 44 81 65 67 98 67 44 87 65 65 89 44 101 65 67 86 44 83 65 65 85 116 115 66 44 69 65 65 77 117 115 66 44 71 65 67 108 66 104 116 66 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 65 83 44 83 65 65 85 82 44 71 65 79 55 66 44 73 65 78 65 44 73 65 65 73 105 66 44 69 65 67 72 67 44 69 65 65 77 44 71 65 67 78 56 114 66 44 69 65 65 83 106 116 66 44 71 65 65 81 67 44 71 65 67 106 66 50 66 44 69 65 65 79 113 114 66 44 69 65 65 79 51 115 66 44 79 65 65 83 44 69 65 67 118 66 112 66 44 69 65 65 73 44 69 65 69 71 65 44 71 65 65 75 48 67 44 69 65 65 77 49 67 44 73 65 67 108 66 103 67 44 69 65 65 81 104 67 44 73 65 65 77 48 67 44 69 65 65 79 55 69 44 75 65 65 79 65 44 75 65 65 75 50 70 44 79 65 65 79 44 71 65 67 120 67 49 67 44 71 65 65 81 105 116 66 44 69 65 65 81 47 116 66 44 73 65 65 79 56 116 66 44 71 65 65 89 57 114 66 44 71 65 73 110 67 118 68 44 69 65 65 75 68 44 77 65 65 79 121 68 44 69 65 65 75 68 44 69 65 65 77 72 44 79 65 71 120 66 44 79 65 65 79 104 69 44 75 65 65 75 107 69 44 85 65 65 87 69 44 77 65 71 122 66 44 73 65 65 73 43 114 66 44 71 65 65 89 44 73 65 65 73 51 110 66 44 79 65 65 81 44 75 65 65 79 117 97 44 69 65 65 79 44 107 66 65 65 109 66 44 75 65 69 122 68 113 78 44 71 65 65 99 44 77 65 71 100 67 44 71 65 65 89 44 83 65 65 85 53 115 66 44 71 65 75 120 66 44 73 65 65 73 117 111 66 44 69 65 65 79 118 111 66 44 69 65 65 75 56 68 44 99 65 65 99 56 72 44 89 65 77 57 66 44 79 65 74 77 50 99 44 71 65 65 83 65 44 69 65 65 75 115 69 44 83 65 67 110 66 116 69 44 69 65 65 79 106 115 66 44 73 65 71 68 105 115 66 44 69 65 65 75 117 69 44 105 66 65 65 107 66 57 115 66 44 73 65 71 53 66 43 115 66 44 71 65 65 79 44 83 65 65 85 47 115 66 44 69 65 65 77 43 66 44 69 65 65 83 104 66 44 71 65 67 110 67 44 73 65 65 73 74 44 69 65 65 75 86 44 69 65 67 82 43 115 66 44 69 65 65 77 44 71 65 71 80 44 73 65 65 77 47 115 66 44 75 65 65 81 56 66 44 69 65 67 98 105 114 66 44 69 65 65 75 47 115 66 44 71 65 65 83 68 44 69 65 65 75 56 102 44 77 65 65 79 55 102 44 71 65 67 49 66 68 44 69 65 65 75 56 102 44 77 65 65 79 55 102 44 71 65 65 83 56 66 44 69 65 65 83 57 66 44 71 65 77 47 66 44 73 65 65 77 65 44 75 65 72 78 85 44 69 65 65 77 73 44 69 65 65 83 47 68 44 75 65 65 77 103 68 44 71 65 71 80 43 66 44 69 65 67 98 47 66 44 69 65 65 75 56 102 44 77 65 65 79 55 102 44 71 65 65 83 43 115 66 44 69 65 65 75 47 115 66 44 71 65 71 51 66 44 79 65 65 79 85 44 71 65 73 74 115 115 66 44 71 65 65 89 44 73 65 65 73 108 111 66 44 79 65 65 81 48 97 44 69 65 65 85 112 86 44 75 65 65 77 44 75 65 65 79 44 75 65 105 74 110 68 44 83 65 65 83 54 105 66 44 71 65 65 81 108 116 66 44 69 65 65 77 67 44 69 65 65 77 107 116 66 44 71 65 67 53 66 44 73 65 65 73 67 44 69 65 65 79 67 44 69 65 65 85 67 44 69 65 65 85 51 115 66 44 69 65 67 57 66 52 115 66 44 69 65 65 101 90 44 71 65 65 89 51 111 66 44 75 65 65 77 47 68 44 71 65 77 106 67 54 102 44 69 65 65 81 57 102 44 69 65 65 75 56 102 44 77 65 111 69 100 44 79 65 108 69 65 113 78 44 69 65 65 87 65 44 71 65 65 89 80 44 71 65 65 87 53 115 66 44 77 65 103 66 106 67 87 44 69 65 65 77 119 115 66 44 69 65 65 83 75 44 105 66 65 65 107 66 118 116 66 44 73 65 65 85 107 116 66 44 69 65 65 85 108 116 66 44 71 65 69 104 68 115 116 66 44 71 65 65 103 66 53 115 66 44 73 65 107 66 112 66 65 44 69 65 65 77 65 44 69 65 65 73 105 67 44 81 65 65 83 107 67 44 71 65 65 85 44 89 65 65 85 116 67 44 71 65 71 51 66 44 75 65 65 82 55 66 44 71 65 65 101 43 101 44 69 65 65 89 49 102 44 75 65 67 47 66 87 44 69 65 65 77 110 66 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 67 44 75 65 81 114 66 116 67 44 71 65 65 81 56 118 66 44 107 66 65 65 111 66 102 44 71 65 65 85 49 111 66 44 75 65 65 77 114 68 44 73 65 65 83 115 115 66 44 71 65 65 85 106 112 66 44 75 65 65 77 47 68 44 75 65 71 49 69 109 116 66 44 69 65 65 81 116 78 44 69 65 65 77 115 78 44 77 65 67 100 67 44 69 65 65 87 118 78 44 69 65 65 77 117 78 44 83 65 67 106 66 67 44 69 65 65 87 120 78 44 69 65 65 77 119 78 44 83 65 71 106 66 120 78 44 69 65 65 77 117 78 44 83 65 65 87 118 78 44 69 65 65 77 119 78 44 83 65 65 87 120 78 44 69 65 65 77 115 78 44 77 65 65 81 122 115 66 44 69 65 67 104 68 65 44 69 65 65 77 119 115 66 44 69 65 65 83 67 44 77 65 71 102 116 78 44 69 65 65 77 115 78 44 77 65 65 81 65 44 69 65 67 100 116 78 44 69 65 65 77 117 78 44 83 65 65 87 65 44 69 65 67 106 66 118 78 44 69 65 65 77 119 78 44 83 65 65 87 65 44 83 65 73 74 57 113 66 44 73 65 65 82 55 66 44 69 65 73 78 65 44 69 65 65 77 44 71 65 67 78 65 44 69 65 73 70 44 83 65 65 83 43 115 66 44 71 65 65 99 67 44 69 65 65 97 67 44 71 65 71 110 67 44 77 65 65 79 44 67 65 67 78 114 116 66 44 73 65 65 75 44 87 65 67 74 44 73 65 65 75 111 116 66 44 73 65 83 76 44 79 65 65 83 112 120 66 44 75 65 65 75 103 69 44 73 65 65 77 113 116 66 44 71 65 65 83 49 119 66 44 77 65 65 79 88 44 75 65 65 77 48 69 44 107 66 65 76 108 67 49 69 44 75 65 65 75 103 69 44 79 65 51 79 104 66 44 87 65 73 67 44 83 65 65 83 115 116 66 44 73 65 71 82 44 71 65 65 77 49 77 44 69 65 65 78 44 67 65 73 65 50 77 44 69 65 65 85 104 79 44 77 65 65 77 105 79 44 81 65 65 85 44 43 69 65 69 49 66 53 77 44 69 65 65 73 114 66 44 77 65 65 77 105 79 44 81 65 67 84 44 52 72 65 71 68 104 113 66 44 69 65 65 103 66 55 69 44 89 65 65 97 52 117 66 44 71 65 65 89 53 117 66 44 89 65 65 97 105 105 66 44 71 65 69 116 68 44 73 65 65 73 54 77 44 69 65 65 87 49 120 66 44 71 65 65 79 119 119 66 44 105 66 65 65 107 66 51 76 44 71 65 67 120 67 56 77 44 69 65 65 111 67 44 79 65 65 106 66 68 44 69 65 65 83 110 105 66 44 73 65 71 53 66 113 105 66 44 69 65 65 115 69 44 75 65 65 57 67 67 44 69 65 65 111 66 72 44 69 65 65 83 73 44 89 65 73 114 68 106 78 44 69 65 65 73 114 66 44 77 65 65 77 117 79 44 77 65 65 81 44 77 65 67 108 66 67 44 69 65 65 54 68 44 75 65 65 122 67 72 44 69 65 65 111 66 72 44 69 65 65 83 75 44 79 65 73 106 68 69 44 69 65 65 103 69 44 75 65 65 122 67 74 44 69 65 65 111 66 72 44 69 65 65 83 90 44 79 65 77 112 68 106 77 44 69 65 65 73 114 66 44 77 65 65 77 48 79 44 83 65 65 87 44 87 65 67 114 66 67 44 69 65 65 105 69 44 75 65 65 57 67 78 44 69 65 65 111 66 104 78 44 69 65 65 73 117 78 44 89 65 65 99 44 71 65 69 122 68 51 113 66 44 69 65 65 103 66 51 69 44 89 65 65 97 48 117 66 44 71 65 73 55 66 51 77 44 69 65 65 77 44 77 65 71 80 44 83 65 65 83 103 78 44 69 65 65 111 66 81 44 71 65 67 53 66 44 79 65 65 79 106 115 66 44 75 65 65 75 107 115 66 44 77 65 65 79 67 44 87 65 65 89 70 44 73 65 71 104 67 44 73 65 65 73 86 44 69 65 65 107 66 77 44 69 65 65 115 66 69 44 69 65 65 107 66 72 44 69 65 67 55 68 81 44 69 65 65 121 66 90 44 69 65 67 122 66 74 44 69 65 65 89 51 120 66 44 69 65 65 83 48 67 44 99 65 65 101 44 79 65 67 112 67 115 105 66 44 69 65 65 77 104 108 66 44 69 65 65 83 48 67 44 99 65 65 101 44 79 65 71 122 66 115 105 66 44 69 65 65 73 114 66 44 81 65 77 86 113 66 44 69 65 65 73 114 66 44 77 65 65 77 105 80 44 101 65 65 105 66 44 99 65 67 51 66 53 78 44 69 65 65 73 77 44 87 65 65 87 44 71 65 65 79 51 66 44 77 65 65 77 105 80 44 101 65 65 105 66 44 71 65 67 55 67 112 120 66 44 71 65 65 81 113 120 66 44 103 66 65 65 43 67 44 103 66 65 65 55 66 55 78 44 69 65 65 73 114 66 44 77 65 65 77 105 80 44 101 65 69 112 67 118 118 66 44 71 65 65 79 115 67 44 79 65 65 81 110 69 44 71 65 65 83 44 67 65 67 118 66 115 120 66 44 107 66 65 65 109 66 44 87 65 69 108 66 44 79 65 68 65 112 66 44 73 65 67 79 85 44 71 65 69 82 100 44 101 65 65 103 66 44 87 65 69 102 44 79 65 68 65 73 44 73 65 67 79 83 44 71 65 69 82 89 44 99 65 65 101 44 87 65 69 100 44 79 65 68 65 114 66 44 73 65 67 79 73 44 71 65 69 82 107 66 44 109 66 65 65 111 66 44 87 65 69 110 66 44 79 65 68 65 116 66 44 73 65 67 79 75 44 71 65 69 82 107 66 44 99 65 65 101 44 87 65 69 100 44 79 65 68 65 118 66 44 73 65 67 79 89 44 71 65 89 82 89 44 113 66 65 65 115 66 44 87 65 67 114 66 44 73 65 65 73 67 44 69 65 65 79 116 78 44 69 65 65 73 117 78 44 69 65 65 83 67 44 69 65 109 67 120 66 44 79 65 108 67 103 67 44 77 65 65 51 66 86 44 73 65 67 74 81 44 69 65 65 81 110 122 66 44 69 65 65 83 48 67 44 99 65 65 101 44 83 65 67 104 67 109 106 66 44 69 65 65 75 55 108 66 44 69 65 65 83 48 67 44 99 65 65 101 44 77 65 67 55 66 48 119 66 44 69 65 65 85 112 122 66 44 69 65 65 83 48 67 44 99 65 65 101 44 79 65 69 108 67 121 119 66 44 69 65 65 77 120 80 44 77 65 65 77 105 79 44 81 65 65 85 44 50 68 65 67 116 66 47 76 44 69 65 65 71 108 67 44 77 65 65 77 105 79 44 81 65 65 85 44 109 66 65 75 110 66 47 76 44 69 65 65 71 108 67 44 77 65 65 77 50 80 44 79 65 65 83 44 77 65 67 108 66 70 44 69 65 65 81 122 80 44 77 65 65 77 50 80 44 79 65 65 83 44 77 65 81 118 66 70 44 69 65 65 81 122 80 44 77 65 65 77 67 44 81 65 65 85 44 81 65 69 120 66 104 99 44 69 65 67 69 55 69 44 89 65 65 97 111 119 66 44 71 65 67 98 112 119 66 44 89 65 65 97 56 105 66 44 71 65 67 98 57 105 66 44 89 65 65 97 113 119 66 44 71 65 69 102 67 44 69 65 65 85 108 122 66 44 71 65 65 79 119 119 66 44 105 66 65 65 107 66 57 75 44 71 65 67 110 67 56 77 44 69 65 65 52 66 89 44 83 65 65 85 70 44 69 65 65 81 67 44 79 65 65 81 44 73 65 67 114 68 67 44 83 65 65 85 70 44 69 65 65 81 71 44 101 65 65 103 66 44 73 65 67 108 67 68 44 83 65 65 85 70 44 69 65 65 81 73 44 107 66 65 65 109 66 44 77 65 65 87 53 78 44 69 65 65 71 54 78 44 97 65 69 112 68 57 114 66 44 69 65 65 103 66 51 69 44 89 65 65 97 107 119 66 44 73 65 69 118 66 82 44 77 65 118 73 86 44 71 65 115 80 65 44 73 65 65 73 103 66 44 71 65 65 99 44 67 65 65 69 44 83 65 65 85 44 77 65 65 79 44 77 65 67 112 67 67 44 71 65 65 97 53 122 66 44 69 65 65 83 48 67 44 99 65 65 101 44 79 65 65 81 105 104 66 44 77 65 67 55 67 107 81 44 71 65 65 99 44 71 65 107 66 102 44 83 65 65 83 67 44 71 65 65 101 104 119 66 44 71 65 67 118 66 44 73 65 65 73 105 119 66 44 69 65 65 81 49 119 66 44 71 65 65 79 50 119 66 44 83 65 65 85 108 119 66 44 73 65 65 85 43 118 66 44 71 65 65 97 47 118 66 44 71 65 69 112 68 44 79 65 65 75 105 119 66 44 73 65 71 65 106 119 66 44 75 65 65 81 56 118 66 44 71 65 67 76 57 118 66 44 69 65 69 68 43 118 66 44 71 65 65 97 47 118 66 44 71 65 120 66 114 66 44 83 65 65 121 66 65 44 71 65 71 120 66 44 73 65 65 73 109 119 66 44 69 65 65 85 110 119 66 44 69 65 65 77 44 71 65 65 73 107 100 44 99 65 65 103 66 108 100 44 69 65 65 75 112 68 44 77 65 65 79 44 71 65 67 110 68 54 66 44 69 65 65 73 111 120 66 44 71 65 65 89 104 119 66 44 79 65 69 106 66 44 77 65 65 81 112 66 44 73 65 69 80 44 73 65 68 65 117 66 44 69 65 65 79 54 118 66 44 71 65 65 97 112 120 66 44 71 65 65 77 48 120 66 44 75 65 67 98 76 44 71 65 67 90 44 79 65 65 79 57 118 66 44 69 65 101 111 66 111 119 66 44 67 65 65 103 66 112 119 66 44 73 65 65 85 65 44 71 65 73 120 68 44 73 65 75 67 113 119 66 44 71 65 65 101 44 52 66 65 67 102 67 44 71 65 65 85 44 67 65 65 69 47 66 44 83 65 65 85 44 87 65 65 89 103 67 44 87 65 65 89 44 83 65 65 85 122 81 44 81 65 65 83 44 83 65 67 106 69 48 81 44 71 65 65 113 66 44 67 65 67 112 66 67 44 99 65 65 101 44 73 65 67 102 67 44 87 65 65 89 44 79 65 71 100 44 83 65 65 83 67 44 71 65 65 109 66 114 118 66 44 69 65 65 79 43 67 44 69 65 65 79 117 115 66 44 71 65 73 122 67 44 73 65 65 73 49 115 66 44 69 65 65 85 113 98 44 69 65 65 81 53 86 44 75 65 65 77 116 70 44 71 65 67 53 66 44 79 65 65 79 72 44 69 65 71 78 122 66 44 75 65 65 75 111 117 66 44 73 65 65 75 44 69 65 65 71 51 115 66 44 69 65 65 83 44 73 65 65 81 48 115 66 44 71 65 65 89 44 75 65 65 85 49 115 66 44 69 65 65 83 44 73 65 65 79 44 77 65 67 112 69 71 44 69 65 71 70 44 83 65 65 83 121 115 66 44 71 65 65 111 66 47 119 66 44 69 65 65 77 103 120 66 44 69 65 65 87 67 44 69 65 65 75 67 44 69 65 65 97 67 44 69 65 65 81 67 44 71 65 67 118 69 44 73 65 65 73 49 121 66 44 69 65 65 107 66 44 85 65 65 100 115 121 66 44 69 65 65 119 66 44 69 65 65 73 44 69 65 67 110 67 75 44 69 65 65 81 44 69 65 67 82 67 44 69 65 65 81 44 69 65 67 82 67 44 69 65 65 99 44 69 65 71 102 44 71 65 65 75 78 44 75 65 65 85 67 44 69 65 65 99 44 83 65 65 87 44 87 65 67 118 67 44 79 65 65 79 44 69 65 71 82 44 75 65 65 81 120 121 66 44 69 65 65 73 44 69 65 65 71 65 44 71 65 65 75 44 69 65 75 78 44 87 65 65 82 117 121 66 44 73 65 67 74 77 44 71 65 65 101 47 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 105 120 66 44 69 65 65 77 120 82 44 69 65 65 87 47 103 66 44 73 65 65 75 44 69 65 65 77 121 121 66 44 73 65 73 120 68 68 44 71 65 109 66 81 44 89 65 65 82 68 44 73 65 67 74 75 44 71 65 65 83 57 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 85 65 65 89 121 102 44 69 65 65 87 47 103 66 44 73 65 65 75 44 69 65 65 77 121 121 66 44 73 65 73 106 68 44 87 65 65 82 70 44 73 65 67 74 75 44 71 65 65 83 57 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 83 65 65 87 121 102 44 69 65 65 87 47 103 66 44 71 65 65 77 44 83 65 65 83 44 69 65 65 77 121 121 66 44 77 65 116 66 118 69 71 44 71 65 65 83 57 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 85 65 65 89 121 102 44 69 65 65 87 47 103 66 44 73 65 65 75 44 69 65 65 77 121 121 66 44 71 65 71 104 68 44 89 65 65 82 70 44 69 65 67 74 75 44 71 65 65 83 57 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 83 65 65 87 121 102 44 69 65 65 87 47 103 66 44 71 65 65 77 44 83 65 65 83 44 69 65 65 77 121 121 66 44 71 65 73 116 69 69 44 71 65 65 83 55 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 83 65 65 87 121 102 44 69 65 65 87 47 103 66 44 71 65 65 77 44 83 65 65 83 44 69 65 65 77 121 121 66 44 73 65 111 67 122 69 44 79 65 104 66 77 68 44 71 65 65 56 66 44 71 65 65 102 69 44 73 65 73 112 66 69 44 71 65 65 83 53 117 66 44 75 65 65 75 111 117 66 44 73 65 65 75 44 69 65 65 71 112 117 66 44 75 65 65 75 56 117 66 44 75 65 67 49 66 120 120 66 44 69 65 65 77 44 83 65 65 87 103 120 66 44 69 65 65 87 44 71 65 65 73 55 84 44 99 65 65 103 66 54 84 44 69 65 65 85 110 48 66 44 77 65 65 79 44 73 65 67 106 69 117 48 66 44 69 65 67 65 69 44 69 65 67 65 68 44 69 65 67 65 44 77 65 73 77 44 71 65 71 68 67 44 69 65 65 81 67 44 69 65 71 104 66 44 83 65 65 83 69 44 71 65 65 107 66 122 120 66 44 69 65 65 77 103 120 66 44 69 65 65 87 75 44 71 65 71 51 67 44 73 65 65 73 70 44 69 65 65 83 118 69 44 71 65 65 87 53 115 66 44 71 65 75 118 66 107 120 66 44 73 65 68 109 66 118 122 66 44 71 65 65 81 115 120 66 44 113 66 65 65 117 66 111 67 44 73 65 69 69 44 101 65 65 110 68 55 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 97 65 65 97 44 69 65 65 79 109 120 66 44 71 65 67 118 67 79 44 69 65 65 109 66 82 44 69 65 69 110 66 118 121 66 44 69 65 65 77 117 117 66 44 71 65 65 81 108 116 66 44 69 65 65 77 103 120 66 44 69 65 65 87 71 44 71 65 67 47 66 81 44 69 65 65 97 44 83 65 65 87 88 44 69 65 65 87 44 71 65 65 73 55 84 44 99 65 65 103 66 54 84 44 69 65 65 85 110 48 66 44 77 65 65 79 44 71 65 73 122 69 44 71 65 65 75 54 118 66 44 71 65 65 85 49 111 66 44 75 65 65 77 114 70 44 71 65 65 81 44 67 65 67 53 66 44 73 65 65 77 48 121 66 44 69 65 67 76 44 79 65 65 79 49 121 66 44 69 65 69 82 65 44 69 65 65 77 44 79 65 121 67 80 44 81 65 108 67 81 104 66 44 71 65 65 81 115 120 66 44 113 66 65 65 117 66 105 67 44 73 65 77 114 67 118 122 66 44 71 65 65 81 48 120 66 44 119 66 65 65 48 66 116 118 66 44 71 65 65 85 67 44 69 65 65 77 44 79 65 73 51 67 44 83 65 65 82 114 66 44 73 65 73 67 107 119 66 44 87 65 65 89 108 119 66 44 73 65 65 48 68 44 87 65 65 106 68 97 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 87 65 65 87 44 69 65 65 79 109 120 66 44 75 65 71 49 68 110 120 66 44 69 65 65 75 52 120 66 44 105 66 65 65 105 66 57 120 66 44 83 65 69 116 66 111 120 66 44 69 65 65 105 69 44 101 65 65 110 68 49 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 97 65 65 97 44 69 65 65 79 109 120 66 44 73 65 75 112 68 79 44 69 65 65 109 66 67 44 75 65 65 99 51 120 66 44 75 65 69 104 67 114 66 44 69 65 65 77 113 66 44 69 65 65 77 50 120 66 44 77 65 75 100 104 122 66 44 69 65 65 77 107 119 66 44 87 65 65 89 108 119 66 44 73 65 65 83 44 71 65 73 49 66 111 121 66 44 71 65 67 67 47 119 66 44 69 65 67 65 103 120 66 44 69 65 67 65 75 44 73 65 65 87 72 44 69 65 65 99 44 83 65 65 87 44 87 65 67 112 67 81 44 69 65 67 65 80 44 69 65 71 65 120 121 66 44 71 65 69 69 44 75 65 119 84 76 44 83 65 65 83 107 122 66 44 71 65 65 79 55 120 66 44 69 65 65 77 43 66 44 69 65 65 83 43 98 44 69 65 65 77 110 99 44 69 65 65 75 109 119 66 44 71 65 67 122 67 44 79 65 65 79 44 73 65 65 73 68 44 71 65 65 77 49 120 66 44 85 65 65 85 80 44 75 65 65 77 73 44 69 65 65 77 43 66 44 69 65 65 83 43 98 44 69 65 65 77 110 99 44 69 65 65 75 109 119 66 44 71 65 116 84 53 68 116 121 66 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 73 100 105 119 66 44 83 65 65 85 44 67 65 67 84 67 44 81 65 65 83 44 67 65 67 82 122 120 66 44 73 65 65 75 44 83 65 65 85 80 44 69 65 65 77 109 116 66 44 71 65 67 112 66 44 71 65 65 75 65 44 69 65 65 87 44 67 65 71 102 44 73 65 65 73 120 115 66 44 69 65 65 77 117 115 66 44 71 65 65 81 108 116 66 44 69 65 65 77 44 87 65 67 120 66 44 77 65 65 101 44 75 65 65 82 87 44 69 65 65 97 44 73 65 65 77 65 44 77 65 79 57 66 43 102 44 85 65 65 87 44 67 65 67 86 117 82 44 121 66 65 65 121 66 44 69 65 67 122 66 67 44 97 65 65 97 44 69 65 67 98 67 44 107 66 65 65 107 66 44 69 65 67 108 66 67 44 97 65 65 97 44 69 65 67 98 67 44 85 65 65 85 44 69 65 67 86 67 44 89 65 65 89 44 69 65 67 90 51 66 44 89 65 65 89 44 69 65 67 90 52 66 44 85 65 65 85 44 69 65 67 86 67 44 89 65 65 89 44 69 65 67 90 67 44 101 65 65 101 44 69 65 67 102 67 44 105 66 65 65 105 66 44 69 65 67 106 66 67 44 83 65 65 83 44 69 65 67 84 67 44 89 65 65 89 44 69 65 67 90 67 44 99 65 65 99 44 69 65 67 100 67 44 89 65 65 89 44 69 65 67 90 100 44 83 65 65 83 44 69 65 67 84 101 44 79 65 65 79 44 69 65 67 80 67 44 83 65 65 83 44 69 65 67 84 51 83 44 79 65 65 79 44 69 65 67 80 52 83 44 81 65 65 81 44 69 65 67 82 67 44 81 65 65 81 44 69 65 67 82 67 44 77 65 65 77 44 69 65 71 78 67 44 97 65 65 97 44 69 65 67 98 67 44 99 65 65 99 44 69 65 67 100 67 44 97 65 65 97 44 69 65 67 98 67 44 107 66 65 65 107 66 44 69 65 67 108 66 67 44 101 65 65 101 44 71 65 75 104 66 114 68 44 83 65 65 85 44 71 65 71 86 114 81 44 77 65 65 79 44 83 65 65 85 57 102 44 69 65 65 77 67 44 69 65 65 77 113 69 44 69 65 65 79 43 115 66 44 71 65 71 110 67 44 71 65 65 77 114 120 66 44 71 65 65 48 66 44 73 65 65 108 66 65 44 69 65 65 75 108 67 44 85 65 65 111 67 44 73 65 65 108 66 107 67 44 69 65 65 75 108 67 44 85 65 65 109 66 107 67 44 69 65 65 75 56 102 44 77 65 65 108 69 44 67 65 75 65 44 73 65 65 73 110 102 44 69 65 65 75 122 67 44 69 65 65 77 50 103 66 44 69 65 67 100 52 85 44 69 65 65 87 114 87 44 69 65 65 87 110 100 44 71 65 67 116 66 115 116 66 44 69 65 65 101 90 44 71 65 65 89 51 111 66 44 75 65 65 77 47 68 44 71 65 67 106 67 54 102 44 69 65 65 81 57 102 44 69 65 65 75 56 102 44 77 65 97 100 44 71 65 82 77 121 78 44 73 65 67 76 116 116 66 44 69 65 65 79 103 119 66 44 71 65 65 101 119 68 44 73 65 73 118 66 53 85 44 69 65 65 81 114 102 44 71 65 65 79 117 121 66 44 83 65 65 85 57 120 66 44 73 65 65 85 84 44 71 65 65 79 117 121 66 44 83 65 65 85 48 66 44 81 65 71 114 67 106 120 66 44 73 65 65 86 56 66 44 69 65 48 67 74 44 79 65 65 75 117 97 44 71 65 65 83 44 81 65 65 83 65 44 81 65 67 119 66 114 99 44 75 65 65 53 67 55 66 44 69 65 65 77 107 101 44 69 65 65 77 116 101 44 73 65 65 75 80 44 71 65 65 77 44 69 65 65 79 113 120 66 44 73 65 69 122 66 49 119 66 44 69 65 73 68 109 102 44 69 65 65 79 55 102 44 71 65 55 67 65 44 89 65 72 100 47 66 44 83 65 65 99 111 71 44 75 65 71 99 51 68 44 69 65 65 77 54 101 44 69 65 65 81 53 86 44 75 65 65 77 116 70 44 75 65 65 97 51 68 44 69 65 65 75 44 75 65 67 106 69 50 68 44 69 65 65 81 50 98 44 71 65 65 87 106 103 66 44 69 65 65 77 67 44 69 65 65 77 85 44 71 65 71 47 66 122 67 44 69 65 65 79 44 85 65 73 77 44 77 65 65 84 111 71 44 71 65 65 105 66 65 44 71 65 65 85 65 44 73 65 79 108 66 44 87 65 65 84 112 71 44 71 65 65 115 66 113 118 66 44 73 65 67 49 66 106 112 66 44 71 65 65 83 51 68 44 71 65 65 79 65 44 69 65 65 75 44 75 65 65 83 110 66 44 71 65 65 79 107 104 66 44 85 65 65 87 43 83 44 71 65 65 97 44 71 65 65 75 44 79 65 73 55 68 57 49 66 44 71 65 65 81 113 120 66 44 105 66 65 65 54 66 44 75 65 65 86 49 113 66 44 71 65 65 105 68 44 73 65 65 106 67 114 69 44 69 65 65 75 55 67 44 81 65 65 83 44 103 66 65 67 57 68 48 105 66 44 69 65 65 79 55 102 44 71 65 65 83 44 87 65 73 88 52 101 44 71 65 65 89 44 81 65 65 83 65 44 81 65 67 115 66 114 99 44 75 65 65 57 67 56 66 44 69 65 65 81 117 97 44 69 65 65 77 106 66 44 73 65 65 75 53 100 44 69 65 65 77 115 69 44 69 65 65 79 43 115 66 44 77 65 69 55 66 57 68 44 69 65 67 74 122 78 44 69 65 65 77 52 84 44 89 65 65 97 122 122 66 44 69 65 65 77 113 69 44 71 65 69 122 66 119 98 44 69 65 65 79 55 102 44 71 65 65 83 113 69 44 77 65 107 66 112 66 48 98 44 73 65 65 75 44 83 65 65 85 104 103 66 44 69 65 65 77 67 44 69 65 65 77 111 120 66 44 69 65 65 79 70 44 71 65 67 106 67 44 73 65 65 73 120 121 66 44 69 65 65 75 54 66 44 69 65 65 75 113 101 44 69 65 67 98 52 85 44 69 65 65 87 114 87 44 69 65 65 87 110 100 44 71 65 54 66 118 66 44 79 65 53 66 103 66 48 115 66 44 71 65 65 89 51 111 66 44 75 65 65 77 47 68 44 75 65 77 106 67 65 44 69 65 65 79 103 119 66 44 71 65 65 101 119 68 44 75 65 73 118 66 53 85 44 69 65 65 81 114 102 44 71 65 65 79 117 121 66 44 83 65 65 85 57 120 66 44 73 65 65 85 84 44 71 65 65 79 117 121 66 44 83 65 65 85 48 66 44 75 65 71 116 67 44 81 65 65 83 53 85 44 73 65 67 116 66 108 103 66 44 69 65 65 77 107 103 66 44 69 65 65 77 116 101 44 73 65 65 75 80 44 71 65 65 77 44 69 65 65 77 113 120 66 44 83 65 73 106 66 55 117 66 44 73 65 65 82 55 68 44 73 65 67 74 65 44 69 65 65 77 117 117 66 44 71 65 65 81 108 116 66 44 69 65 65 77 67 44 69 65 65 77 107 120 66 44 73 65 73 100 44 87 65 65 82 120 121 66 44 71 65 65 111 66 115 66 44 75 65 65 81 119 119 66 44 75 65 67 104 67 57 120 66 44 69 65 65 77 56 120 66 44 71 65 65 111 66 120 119 66 44 73 65 73 90 44 75 65 65 86 111 120 66 44 71 65 65 103 66 65 44 71 65 67 112 66 55 119 66 44 69 65 65 77 113 117 66 44 87 65 65 89 108 119 66 44 73 65 67 68 44 73 65 65 86 48 121 66 44 71 65 65 107 66 115 67 44 83 65 65 85 110 122 66 44 71 65 65 81 65 44 71 65 65 79 44 69 65 65 73 55 66 44 71 65 71 104 68 65 44 75 65 73 84 97 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 44 83 65 65 85 44 83 65 65 87 44 83 65 65 85 54 68 44 69 65 65 73 113 115 66 44 71 65 67 106 68 120 120 66 44 71 65 65 79 117 121 66 44 83 65 65 85 102 44 71 65 65 99 44 67 65 67 57 66 122 119 66 44 73 65 65 75 44 83 65 65 85 80 44 69 65 65 77 109 116 66 44 69 65 65 85 107 69 44 71 65 67 57 66 44 71 65 65 75 108 69 44 69 65 73 74 44 79 65 65 79 109 68 44 71 65 65 97 116 115 66 44 75 65 65 77 120 69 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 97 65 81 120 67 65 44 69 65 65 75 52 120 66 44 105 66 65 65 105 66 57 120 66 44 81 65 65 87 69 44 69 65 65 75 52 122 66 44 119 66 65 65 119 66 120 71 44 77 65 73 106 69 113 69 44 71 65 65 107 66 122 120 66 44 69 65 65 77 103 120 66 44 69 65 65 87 75 44 71 65 72 110 67 116 69 44 71 65 65 77 47 115 66 44 69 65 65 77 117 119 66 44 71 65 65 83 44 87 65 67 112 66 44 79 65 65 79 107 66 44 71 65 65 107 66 122 120 66 44 69 65 65 77 103 120 66 44 69 65 65 87 75 44 77 65 77 57 67 122 84 44 73 65 65 75 44 83 65 65 85 53 100 44 69 65 65 77 115 69 44 69 65 65 79 43 115 66 44 71 65 67 51 66 44 73 65 65 73 108 116 66 44 69 65 67 72 103 116 66 44 69 65 65 83 118 69 44 71 65 65 87 53 115 66 44 71 65 73 112 66 54 122 66 44 71 65 65 115 66 108 50 66 44 71 65 65 81 121 120 66 44 105 66 65 67 84 44 97 65 65 112 66 43 66 44 69 65 65 79 51 67 44 83 65 73 82 48 67 44 71 65 68 107 66 50 67 44 71 65 65 115 66 120 67 44 73 65 69 89 44 101 65 65 110 68 55 120 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 97 65 65 97 44 69 65 65 79 109 120 66 44 71 65 67 118 67 78 44 69 65 65 87 81 44 69 65 67 86 78 44 71 65 67 67 47 119 66 44 69 65 67 65 103 120 66 44 69 65 67 65 75 44 69 65 67 65 72 44 69 65 67 65 67 44 71 65 69 68 44 69 65 113 66 70 44 79 65 106 66 75 68 44 71 65 65 101 50 67 44 73 65 67 110 66 104 68 44 71 65 65 89 110 117 66 44 75 65 65 75 56 117 66 44 75 65 67 104 66 120 120 66 44 69 65 65 77 44 83 65 65 87 103 120 66 44 69 65 65 87 44 71 65 65 73 55 84 44 99 65 65 103 66 54 84 44 69 65 65 85 110 48 66 44 77 65 65 79 44 73 65 67 106 69 103 121 66 44 87 65 65 89 115 67 44 69 65 65 81 72 44 73 65 67 112 66 68 44 71 65 65 111 66 47 119 66 44 69 65 65 77 103 120 66 44 69 65 65 87 44 85 65 65 85 44 69 65 65 79 71 44 71 65 67 116 68 44 75 65 75 71 78 44 73 65 65 99 49 115 66 44 69 65 65 85 113 98 44 69 65 65 81 53 86 44 75 65 65 77 116 70 44 75 65 67 98 44 81 65 65 51 66 72 44 69 65 65 83 44 73 65 65 79 44 81 65 69 108 66 110 69 44 69 65 65 75 56 102 44 77 65 65 79 107 82 44 71 65 65 99 49 115 66 44 69 65 67 49 66 65 44 69 65 65 81 57 69 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 103 120 66 44 73 65 71 112 66 74 44 71 65 65 109 66 53 119 66 44 69 65 65 77 115 69 44 69 65 65 79 117 115 66 44 79 65 75 49 67 114 120 66 44 71 65 65 79 117 121 66 44 83 65 65 83 51 68 44 87 65 65 97 86 44 71 65 65 99 47 118 66 44 71 65 65 81 119 120 66 44 109 66 65 67 108 68 44 83 65 65 85 110 118 66 44 69 65 65 77 109 116 66 44 71 65 67 102 44 71 65 65 75 65 44 69 65 67 74 44 79 65 65 83 48 66 44 87 65 65 89 51 66 44 71 65 65 81 108 116 66 44 69 65 65 77 44 103 66 65 67 108 67 65 44 69 65 65 75 52 122 66 44 119 66 65 65 119 66 69 44 75 65 67 53 66 47 71 44 71 65 65 77 47 115 66 44 69 65 65 77 44 67 65 65 69 111 117 66 44 87 65 65 89 44 71 65 65 75 44 87 65 67 57 66 44 79 65 65 79 112 117 66 44 69 65 65 75 52 122 66 44 119 66 65 65 119 66 69 44 81 65 69 110 67 44 79 65 77 80 116 48 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 105 122 66 44 79 65 65 81 44 71 65 67 82 67 44 81 65 65 83 44 71 65 67 84 67 44 79 65 65 81 44 83 65 67 78 44 83 65 65 85 67 44 69 65 65 81 67 44 71 65 67 112 66 51 48 66 44 71 65 65 79 117 121 66 44 83 65 65 85 109 67 44 69 65 65 83 67 44 71 65 65 87 44 67 65 67 112 67 67 44 79 65 65 81 44 83 65 65 85 57 118 66 44 71 65 79 106 66 44 73 65 78 65 44 73 65 65 73 53 70 44 69 65 65 73 44 69 65 67 80 50 49 66 44 69 65 65 87 44 71 65 71 88 67 44 69 65 65 121 66 44 105 66 65 65 86 104 119 66 44 69 65 65 113 66 65 44 69 65 65 77 73 44 77 65 65 79 44 75 65 65 81 44 67 65 65 69 74 44 71 65 69 112 68 53 70 44 69 65 65 73 44 69 65 65 71 65 44 73 65 67 100 50 49 66 44 69 65 65 85 72 44 69 65 65 83 122 85 44 69 65 65 87 47 103 66 44 71 65 65 77 121 49 66 44 71 65 67 110 67 71 44 69 65 65 79 53 49 66 44 73 65 65 79 52 49 66 44 69 65 65 79 53 49 66 44 69 65 65 73 44 73 65 65 79 52 49 66 44 69 65 65 79 44 71 65 71 122 67 44 79 65 65 79 68 44 73 65 73 79 44 87 65 65 88 72 44 73 65 67 74 49 48 66 44 71 65 65 79 117 121 66 44 83 65 65 85 109 67 44 69 65 65 83 67 44 71 65 65 83 118 87 44 73 65 65 77 103 84 44 77 65 73 51 67 112 120 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 107 101 44 73 65 65 75 44 83 65 65 85 47 102 44 69 65 65 77 113 69 44 71 65 67 112 66 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 121 68 44 69 65 65 77 67 44 69 65 65 77 113 69 44 71 65 67 49 67 44 73 65 65 73 54 115 66 44 69 65 65 81 49 118 66 44 69 65 67 88 84 44 69 65 65 77 44 71 65 67 78 116 67 44 69 65 65 73 44 69 65 69 76 44 71 65 65 75 52 68 44 77 65 65 77 67 44 81 65 65 83 116 67 44 71 65 65 83 44 67 65 73 53 66 44 73 65 72 65 107 120 66 44 69 65 65 83 118 69 44 71 65 65 87 53 115 66 44 71 65 67 112 66 121 66 44 69 65 65 77 120 66 44 69 65 65 75 72 44 79 65 69 72 112 66 44 69 65 65 73 43 67 44 69 65 65 75 47 67 44 73 65 67 104 66 115 67 44 69 65 65 75 102 44 69 65 65 77 118 66 44 73 65 65 81 99 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 67 44 69 65 65 77 118 66 44 73 65 65 75 44 69 65 65 79 121 121 66 44 71 65 71 120 68 44 79 65 65 79 110 119 66 44 69 65 71 82 44 89 65 65 105 66 119 66 44 73 65 65 86 56 66 44 69 65 67 78 57 69 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 67 44 69 65 65 77 113 69 44 71 65 67 49 66 57 69 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 67 44 73 65 67 106 66 65 44 69 65 65 77 113 69 44 69 65 65 48 66 44 69 65 65 110 66 114 68 44 85 65 65 85 110 66 44 97 65 81 53 66 78 44 71 65 65 79 113 121 66 44 77 65 65 81 65 44 73 65 69 84 49 120 66 44 85 65 65 89 44 67 65 67 106 66 69 44 89 65 65 97 119 120 66 44 71 65 67 98 106 121 66 44 75 65 65 77 44 83 65 65 85 73 44 69 65 65 77 43 66 44 69 65 65 83 43 98 44 69 65 65 77 110 99 44 69 65 65 75 109 119 66 44 69 65 65 81 114 82 44 71 65 67 106 68 108 107 66 44 75 65 65 75 121 68 44 75 65 65 79 65 44 69 65 67 90 122 68 44 75 65 65 75 117 104 66 44 75 65 65 79 65 44 69 65 67 90 118 104 66 44 75 65 65 75 117 49 66 44 79 65 65 83 65 44 71 65 65 85 116 121 66 44 71 65 65 79 115 121 66 44 79 65 65 79 53 80 44 83 65 67 116 67 51 108 66 44 75 65 65 75 119 70 44 81 65 65 85 65 44 69 65 67 102 120 70 44 75 65 65 75 115 83 44 77 65 65 81 116 83 44 75 65 65 75 109 114 66 44 73 65 65 77 110 114 66 44 75 65 65 75 52 90 44 77 65 67 55 66 53 90 44 75 65 65 75 111 70 44 73 65 65 77 65 44 69 65 67 88 112 70 44 75 65 65 75 107 107 66 44 75 65 65 79 65 44 73 65 65 85 106 104 66 44 71 65 65 79 107 104 66 44 85 65 65 87 53 67 44 71 65 65 83 44 71 65 65 75 44 79 65 69 118 68 51 72 44 73 65 65 75 44 87 65 67 74 44 73 65 65 73 48 73 44 69 65 65 81 103 84 44 71 65 65 77 48 67 44 85 65 65 87 104 52 66 44 75 65 65 75 117 104 66 44 77 65 69 108 67 44 79 65 65 79 101 44 71 65 65 83 65 44 69 65 65 77 116 101 44 73 65 67 114 66 115 101 44 69 65 65 77 116 101 44 73 65 65 75 104 69 44 77 65 67 88 115 49 66 44 71 65 65 77 48 67 44 85 65 65 85 114 83 44 83 65 65 83 51 104 66 44 73 65 65 75 104 69 44 79 65 69 104 67 105 52 66 44 73 65 65 75 44 83 65 65 85 67 44 71 65 67 100 44 73 65 65 73 67 44 69 65 67 72 55 86 44 69 65 65 81 103 84 44 71 65 65 77 48 67 44 85 65 65 87 104 52 66 44 75 65 65 75 117 104 66 44 77 65 111 66 47 66 44 79 65 108 66 75 118 104 66 44 75 65 65 75 119 70 44 81 65 65 81 52 121 66 44 83 65 67 106 66 112 52 66 44 75 65 65 75 113 52 66 44 73 65 65 77 70 44 69 65 65 81 108 49 66 44 71 65 65 79 115 121 66 44 79 65 65 81 118 49 66 44 75 65 65 75 117 49 66 44 81 65 67 116 67 50 67 44 69 65 65 83 108 52 66 44 75 65 65 75 119 70 44 81 65 65 81 52 121 66 44 83 65 65 87 70 44 69 65 65 83 44 69 65 65 71 44 69 65 65 71 108 52 66 44 75 65 65 75 119 70 44 81 65 65 81 52 121 66 44 85 65 71 57 68 112 52 66 44 75 65 65 75 113 52 66 44 73 65 65 77 70 44 69 65 65 81 68 44 69 65 69 112 66 108 52 66 44 75 65 65 75 109 114 66 44 75 65 65 81 110 114 66 44 75 65 65 75 111 70 44 73 65 65 77 112 70 44 75 65 65 75 115 83 44 79 65 65 85 54 108 66 44 69 65 65 81 110 52 66 44 75 65 65 75 115 83 44 77 65 69 47 67 116 83 44 75 65 65 75 119 70 44 81 65 65 81 56 121 66 44 77 65 67 106 66 116 52 66 44 75 65 65 75 119 70 44 81 65 65 81 56 121 66 44 75 65 65 75 55 51 66 44 75 65 65 77 84 44 75 65 65 75 121 68 44 75 65 65 77 122 68 44 75 65 65 75 109 114 66 44 73 65 65 75 110 114 66 44 77 65 71 122 67 115 105 66 44 71 65 65 83 65 44 69 65 65 77 106 66 44 73 65 67 110 66 105 66 44 69 65 65 77 106 66 44 73 65 65 75 114 104 66 44 77 65 69 88 115 49 66 44 71 65 65 77 48 67 44 85 65 65 85 114 83 44 83 65 65 83 116 69 44 73 65 65 75 114 104 66 44 77 65 69 120 66 65 44 81 65 73 79 113 68 44 75 65 65 75 79 44 85 65 65 89 48 120 66 44 71 65 65 77 49 120 66 44 87 65 69 118 67 48 120 66 44 71 65 65 77 48 67 44 85 65 65 89 44 67 65 67 106 66 114 83 44 83 65 65 85 44 67 65 67 84 51 104 66 44 73 65 65 75 44 83 65 65 85 52 102 44 71 65 67 100 44 73 65 65 73 104 83 44 69 65 73 74 44 79 65 65 54 66 44 73 65 65 120 66 103 83 44 69 65 65 77 110 103 66 44 75 65 65 75 108 67 44 85 65 67 97 44 77 65 65 53 66 113 105 66 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 79 65 65 111 68 44 77 65 65 108 67 113 67 44 69 65 65 77 110 103 66 44 75 65 65 75 56 102 44 77 65 65 79 75 44 69 65 65 77 114 67 44 77 65 67 114 68 113 67 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 79 65 79 49 66 51 80 44 69 65 65 83 51 79 44 71 65 65 79 119 103 66 44 73 65 65 75 71 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 75 65 65 77 44 77 65 71 104 66 44 83 65 65 88 51 80 44 69 65 65 119 66 65 44 69 65 65 74 44 71 65 69 118 67 121 80 44 73 65 65 75 44 83 65 65 85 117 67 44 71 65 75 84 51 103 66 44 71 65 65 79 115 49 66 44 71 65 65 71 68 44 75 65 65 77 49 85 44 69 65 65 77 114 67 44 77 65 67 49 66 116 101 44 71 65 65 79 115 49 66 44 71 65 65 71 68 44 75 65 65 77 49 85 44 69 65 65 77 114 67 44 77 65 65 81 113 67 44 71 65 67 75 44 73 65 65 120 66 65 44 69 65 65 77 110 103 66 44 75 65 65 75 108 67 44 87 65 67 116 66 48 66 44 71 65 65 79 117 121 66 44 83 65 65 85 53 82 44 69 65 65 77 114 67 44 79 65 67 54 66 44 77 65 65 110 68 113 67 44 69 65 65 77 110 103 66 44 75 65 65 75 56 102 44 77 65 65 79 109 81 44 71 65 65 101 57 80 44 69 65 65 77 114 67 44 79 65 71 120 67 113 67 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 77 65 65 83 113 67 44 69 65 65 77 117 72 44 73 65 70 106 67 108 111 66 44 71 65 65 79 115 103 66 44 77 65 65 79 75 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 75 65 65 77 113 67 44 69 65 65 77 117 72 44 73 65 65 77 118 72 44 69 65 65 77 77 44 85 65 85 53 67 115 85 44 85 65 65 89 108 68 44 71 65 65 77 48 67 44 85 65 65 85 83 44 87 65 65 97 44 67 65 67 120 68 112 88 44 73 65 65 75 44 83 65 65 85 117 67 44 71 65 67 84 65 44 69 65 65 77 110 103 66 44 75 65 65 75 108 67 44 85 65 65 89 113 105 66 44 69 65 65 77 110 103 66 44 75 65 65 75 98 44 97 65 67 116 67 103 104 66 44 69 65 65 77 110 103 66 44 75 65 65 77 109 103 66 44 69 65 65 77 114 67 44 77 65 65 83 113 67 44 69 65 65 77 117 72 44 79 65 75 112 67 108 111 66 44 71 65 65 79 115 121 66 44 79 65 65 83 44 67 65 67 102 109 68 44 79 65 65 81 44 83 65 65 85 67 44 71 65 67 106 66 44 79 65 65 79 65 44 71 65 69 82 67 44 77 65 65 79 44 83 65 65 85 68 44 71 65 67 104 66 44 77 65 65 79 44 71 65 65 77 120 121 66 44 75 65 65 75 48 121 66 44 73 65 65 75 70 44 69 65 65 73 120 121 66 44 75 65 65 75 50 121 66 44 73 65 65 79 44 71 65 69 120 67 110 84 44 83 65 65 85 44 83 65 71 88 49 105 66 44 71 65 65 79 115 49 66 44 71 65 65 75 106 68 44 71 65 65 77 49 120 66 44 85 65 65 85 80 44 75 65 71 53 66 74 44 71 65 65 79 115 49 66 44 71 65 65 71 68 44 75 65 65 79 44 71 65 75 106 66 44 73 65 67 67 83 44 71 65 65 79 67 44 71 65 107 114 66 72 57 111 66 44 71 65 69 72 43 111 66 44 71 65 110 114 66 68 67 44 71 65 65 87 44 121 66 65 67 88 67 44 71 65 65 79 44 99 65 69 82 44 83 65 65 83 67 44 75 65 67 72 74 44 77 65 67 113 66 44 73 65 65 112 66 112 53 66 44 69 65 65 83 121 53 66 44 81 65 65 111 66 116 53 66 44 71 65 65 79 117 53 66 44 115 66 65 67 120 67 118 53 66 44 71 65 65 79 117 53 66 44 115 66 65 65 117 66 70 44 73 65 69 57 66 114 53 66 44 71 65 65 79 50 101 44 87 65 65 89 48 97 44 71 65 65 85 110 50 66 44 71 65 65 79 115 49 66 44 71 65 65 71 103 66 44 85 65 71 120 67 116 50 66 44 71 65 65 79 115 49 66 44 71 65 65 71 105 66 44 81 65 75 90 44 83 65 65 83 67 44 75 65 73 82 44 79 65 72 65 49 53 66 44 71 65 65 79 50 101 44 87 65 65 89 44 87 65 67 108 66 113 97 44 81 65 65 81 57 121 66 44 73 65 69 65 56 121 66 44 71 65 65 81 55 78 44 75 65 65 75 67 44 77 65 73 118 66 44 83 65 65 83 117 79 44 71 65 65 79 47 51 66 44 69 65 65 77 103 52 66 44 71 65 67 114 66 44 73 65 65 73 51 77 44 69 65 67 72 55 113 66 44 69 65 65 73 44 69 65 67 74 103 103 66 44 69 65 65 81 44 67 65 65 69 43 81 44 79 65 65 81 118 120 66 44 71 65 75 110 66 44 73 65 68 65 103 52 66 44 69 65 65 101 65 44 69 65 65 101 44 69 65 65 73 44 69 65 67 49 66 120 51 66 44 69 65 65 73 44 69 65 65 71 65 44 71 65 65 75 44 69 65 65 73 119 51 66 44 69 65 69 118 66 120 88 44 69 65 65 79 44 85 65 68 80 54 75 44 69 65 65 81 57 74 44 69 65 65 87 47 103 66 44 75 65 67 83 103 103 66 44 69 65 65 79 44 85 65 65 89 54 75 44 71 65 65 85 114 114 66 44 69 65 79 49 68 44 79 65 74 75 103 52 66 44 73 65 67 74 120 88 44 69 65 65 77 115 84 44 81 65 65 85 116 84 44 69 65 65 77 48 79 44 77 65 65 81 108 118 66 44 71 65 71 120 66 119 103 66 44 69 65 71 82 44 83 65 65 83 121 88 44 71 65 65 97 55 120 66 44 69 65 65 79 119 90 44 69 65 65 77 115 89 44 71 65 75 108 67 44 73 65 74 65 44 73 65 65 73 106 87 44 69 65 67 72 52 75 44 71 65 65 101 115 76 44 71 65 65 85 67 44 83 65 65 85 120 89 44 73 65 65 85 44 73 65 65 75 55 103 66 44 79 65 65 81 111 53 66 44 71 65 65 85 67 44 83 65 65 85 44 77 65 67 57 69 47 102 44 69 65 65 81 44 69 65 67 82 122 87 44 69 65 65 83 105 114 66 44 69 65 65 87 106 114 66 44 79 65 67 98 121 87 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 118 66 44 71 65 65 79 52 74 44 69 65 65 81 52 75 44 69 65 65 89 120 85 44 71 65 65 81 118 90 44 75 65 65 77 111 53 66 44 69 65 65 87 116 89 44 69 65 65 77 120 90 44 71 65 71 122 68 44 79 65 65 79 54 98 44 69 65 115 78 86 44 83 65 65 83 107 87 44 71 65 65 87 114 50 66 44 69 65 65 77 117 50 66 44 69 65 65 89 120 48 66 44 71 65 67 114 67 44 73 65 65 73 111 77 44 69 65 67 72 113 111 66 44 69 65 67 65 106 103 66 44 69 65 65 81 44 69 65 67 82 122 87 44 69 65 65 83 117 50 66 44 71 65 65 85 73 44 87 65 65 87 51 50 66 44 79 65 67 57 66 121 90 44 69 65 65 87 47 90 44 71 65 65 79 48 90 44 87 65 65 87 73 44 79 65 65 81 44 107 66 65 71 55 66 121 99 44 69 65 65 75 47 49 66 44 79 65 69 98 43 49 66 44 69 65 65 79 44 87 65 67 78 44 71 65 65 75 83 44 69 65 67 74 44 79 65 65 79 44 69 65 89 82 44 73 65 86 65 44 73 65 65 73 69 44 69 65 65 99 112 66 44 73 65 65 83 85 44 75 65 67 49 66 51 97 44 69 65 65 89 51 89 44 75 65 65 75 111 117 66 44 73 65 65 75 44 69 65 65 71 115 70 44 69 65 65 85 79 44 85 65 65 89 80 44 69 65 65 85 122 66 44 83 65 65 87 43 66 44 71 65 75 112 69 106 67 44 69 65 65 85 44 71 65 68 72 112 90 44 69 65 65 89 43 97 44 69 65 65 85 122 66 44 85 65 65 89 44 71 65 69 122 67 112 101 44 69 65 65 81 44 69 65 67 82 122 87 44 69 65 65 83 115 50 66 44 69 65 65 85 81 44 79 65 65 79 57 50 66 44 79 65 69 110 66 121 87 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 118 66 54 102 44 69 65 65 85 81 44 79 65 65 81 114 103 66 44 71 65 65 81 105 101 44 73 65 65 75 67 44 71 65 77 104 67 44 79 65 72 65 108 98 44 69 65 65 83 109 66 44 87 65 65 89 49 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 69 65 65 87 51 66 44 69 65 65 83 112 90 44 73 65 71 53 67 111 90 44 69 65 65 85 44 71 65 65 75 51 48 66 44 69 65 67 90 117 98 44 71 65 73 70 118 98 44 71 65 67 76 121 90 44 69 65 65 83 109 66 44 87 65 65 89 49 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 69 65 65 87 44 69 65 65 71 44 73 65 73 53 67 55 99 44 69 65 65 83 111 66 44 89 65 65 97 51 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 75 65 67 118 66 44 73 65 69 82 65 44 69 65 65 89 55 99 44 69 65 65 83 49 66 44 81 65 65 83 44 67 65 67 55 66 55 88 44 75 65 65 77 65 44 69 65 67 78 111 110 66 44 77 65 65 79 53 110 66 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 121 48 66 44 71 65 67 49 66 77 44 75 65 65 77 114 51 66 44 71 65 65 79 115 67 44 81 65 65 81 44 69 65 65 77 44 67 65 67 49 66 103 49 66 44 99 65 65 101 44 71 65 67 102 104 70 44 79 65 65 81 116 121 66 44 71 65 65 79 115 121 66 44 79 65 65 79 53 80 44 85 65 67 112 66 110 103 66 44 71 65 67 72 103 49 66 44 109 66 65 65 111 66 82 44 69 65 67 112 66 83 44 103 66 65 65 105 66 106 49 66 44 69 65 67 106 66 52 48 66 44 85 65 65 87 114 66 44 73 65 65 83 85 44 75 65 67 112 66 114 66 44 83 65 65 85 53 121 66 44 69 65 65 81 52 121 66 44 83 65 67 108 66 105 67 44 79 65 65 81 44 71 65 67 82 84 44 89 65 65 97 44 83 65 65 85 114 89 44 69 65 65 77 110 99 44 71 65 67 53 66 44 73 65 65 73 119 101 44 69 65 65 81 51 103 66 44 71 65 65 79 113 121 66 44 77 65 65 79 55 120 66 44 69 65 65 77 111 50 66 44 69 65 65 85 83 44 75 65 65 77 47 89 44 69 65 65 77 110 99 44 69 65 67 114 68 121 48 66 44 69 65 65 85 83 44 75 65 65 75 67 44 99 65 65 101 104 90 44 73 65 65 85 115 89 44 69 65 65 85 83 44 75 65 65 75 47 69 44 81 65 69 120 68 44 79 65 68 65 115 69 44 69 65 65 85 81 44 79 65 65 79 122 53 66 44 75 65 65 77 103 106 66 44 71 65 67 104 66 65 44 71 65 69 82 110 66 44 75 65 65 77 44 83 65 65 85 105 89 44 71 65 67 102 44 73 65 65 73 49 103 66 44 69 65 65 81 44 69 65 73 88 122 87 44 69 65 65 83 109 51 66 44 69 65 65 85 98 44 69 65 65 85 81 44 79 65 65 79 57 50 66 44 79 65 65 83 44 69 65 67 57 67 44 71 65 65 75 48 50 66 44 69 65 67 74 44 79 65 65 79 106 54 66 44 75 65 71 82 44 73 65 68 65 105 54 66 44 71 65 65 85 44 69 65 67 70 106 103 66 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 118 66 54 102 44 69 65 65 85 81 44 79 65 65 81 114 103 66 44 71 65 65 81 105 101 44 73 65 65 75 44 71 65 85 104 67 44 79 65 78 75 121 67 44 71 65 67 74 49 100 44 69 65 65 83 109 66 44 87 65 65 89 49 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 69 65 65 87 44 69 65 65 71 44 73 65 67 51 67 55 99 44 69 65 65 83 111 66 44 89 65 65 97 51 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 69 65 65 87 97 44 75 65 69 122 67 49 100 44 69 65 65 83 117 66 44 87 65 65 89 57 97 44 69 65 65 77 44 67 65 65 69 111 50 66 44 69 65 65 87 97 44 73 65 69 108 67 49 54 66 44 81 65 71 84 54 113 66 44 69 65 65 81 103 80 44 69 65 65 85 104 80 44 77 65 73 110 66 44 75 65 47 72 68 44 83 65 65 113 66 65 44 69 65 65 79 48 80 44 71 65 67 51 66 44 73 65 65 73 118 103 66 44 69 65 65 79 116 87 44 69 65 65 77 54 120 66 44 69 65 65 81 120 116 66 44 69 65 65 79 117 97 44 69 65 71 104 67 44 73 65 65 77 116 73 44 75 65 65 83 54 81 44 69 65 101 100 44 71 65 98 65 48 75 44 69 65 65 83 103 70 44 69 65 68 84 55 50 66 44 69 65 65 79 109 100 44 69 65 65 87 55 71 44 73 65 69 108 66 106 83 44 69 65 65 81 56 105 66 44 69 65 65 79 55 81 44 71 65 67 86 106 85 44 77 65 65 77 67 44 81 65 65 83 43 66 44 75 65 67 110 66 119 116 66 44 69 65 65 83 120 116 66 44 69 65 65 79 44 71 65 67 104 66 65 44 69 65 65 81 56 105 66 44 69 65 65 79 55 81 44 71 65 65 85 106 83 44 69 65 65 79 44 73 65 71 53 66 105 83 44 73 65 65 85 116 87 44 73 65 67 100 109 110 66 44 69 65 65 79 110 110 66 44 71 65 65 83 113 69 44 83 65 67 84 56 105 66 44 69 65 65 79 55 81 44 75 65 71 102 115 73 44 69 65 65 81 114 102 44 71 65 65 79 117 121 66 44 83 65 65 85 57 120 66 44 75 65 67 88 44 87 65 65 89 52 101 44 69 65 77 122 66 44 73 65 65 77 116 73 44 75 65 76 78 106 83 44 69 65 65 81 117 97 44 69 65 65 77 117 86 44 79 65 65 81 57 118 66 44 85 65 67 102 56 105 66 44 69 65 65 79 110 110 66 44 71 65 73 67 113 69 44 69 65 67 78 105 83 44 75 65 65 83 54 81 44 73 65 67 104 66 65 44 69 65 65 79 55 81 44 71 65 65 85 106 83 44 69 65 65 79 105 83 44 71 65 67 120 66 117 103 66 44 69 65 65 101 118 103 66 44 71 65 65 85 117 98 44 81 65 73 51 66 103 70 44 69 65 65 101 55 50 66 44 71 65 65 83 54 120 66 44 69 65 54 70 49 66 111 70 44 67 65 65 89 57 80 44 69 65 65 79 103 80 44 69 65 65 85 83 44 75 65 65 75 67 44 101 65 69 49 66 118 103 66 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 69 118 66 44 71 65 68 65 112 73 44 69 65 65 83 107 111 66 44 71 65 65 85 73 44 87 65 65 89 108 103 66 44 71 65 65 81 118 90 44 75 65 65 77 111 53 66 44 69 65 65 87 112 50 66 44 69 65 65 77 111 110 66 44 69 65 65 79 103 80 44 69 65 65 85 83 44 77 65 77 57 69 44 79 65 74 75 106 53 66 44 69 65 65 89 117 81 44 69 65 65 79 54 81 44 81 65 67 118 66 120 102 44 71 65 65 79 115 102 44 89 65 65 97 115 88 44 69 65 65 85 112 50 66 44 75 65 65 77 111 50 66 44 69 65 65 85 83 44 75 65 65 75 112 101 44 79 65 65 81 117 71 44 75 65 67 49 68 55 81 44 69 65 65 79 54 81 44 75 65 65 75 109 89 44 75 65 65 77 104 112 66 44 73 65 69 98 65 44 69 65 121 66 84 44 79 65 114 66 65 51 79 44 71 65 65 79 119 66 44 73 65 65 75 111 109 66 44 69 65 65 79 43 79 44 71 65 65 97 67 44 71 65 69 51 66 120 52 66 44 69 65 65 89 119 52 66 44 69 65 65 85 83 44 75 65 65 75 104 111 66 44 81 65 67 47 66 117 110 66 44 69 65 65 85 83 44 75 65 65 75 104 111 66 44 77 65 65 77 55 82 44 75 65 65 77 103 68 44 69 65 65 77 111 50 66 44 71 65 73 108 67 65 44 69 65 67 69 116 99 44 83 65 65 85 115 99 44 69 65 65 85 83 44 75 65 65 75 47 99 44 85 65 67 122 66 122 84 44 75 65 65 77 43 118 66 44 69 65 65 85 83 44 75 65 65 75 120 119 66 44 75 65 65 77 43 118 66 44 69 65 65 85 83 44 75 65 65 75 79 44 85 65 67 49 67 116 102 44 75 65 65 77 115 101 44 69 65 65 85 83 44 75 65 65 75 47 101 44 77 65 67 114 66 119 66 44 79 65 65 81 56 99 44 69 65 65 85 83 44 75 65 65 75 118 100 44 81 65 69 122 66 57 90 44 71 65 65 79 115 49 66 44 71 65 65 71 117 67 44 77 65 67 84 55 51 66 44 71 65 65 79 115 67 44 79 65 65 81 105 48 66 44 69 65 65 77 44 67 65 67 112 66 47 49 66 44 75 65 65 77 65 44 69 65 67 78 115 51 66 44 75 65 65 77 108 66 44 69 65 67 78 51 100 44 77 65 65 79 50 100 44 69 65 65 85 83 44 75 65 65 75 112 101 44 83 65 73 106 66 50 100 44 69 65 71 82 53 50 66 44 71 65 65 79 54 50 66 44 85 65 65 89 55 50 66 44 71 65 65 79 115 67 44 79 65 65 81 117 48 66 44 71 65 65 87 44 67 65 69 53 67 67 44 83 65 65 85 44 67 65 67 84 105 66 44 73 65 65 75 44 67 65 65 69 44 83 65 65 85 122 90 44 69 65 65 77 120 90 44 71 65 67 116 66 44 73 65 65 73 54 98 44 69 65 65 81 53 106 66 44 75 65 65 75 52 53 66 44 89 65 65 97 114 89 44 69 65 65 77 120 90 44 71 65 69 112 67 44 79 65 68 65 50 98 44 71 65 65 87 69 44 69 65 65 77 110 103 66 44 75 65 65 77 56 100 44 69 65 65 77 48 66 44 69 65 65 81 53 86 44 75 65 65 77 116 70 44 71 65 65 83 54 98 44 71 65 67 55 67 65 44 75 65 73 84 113 88 44 81 65 65 83 44 83 65 65 85 112 81 44 69 65 65 79 114 109 66 44 71 65 67 112 66 110 68 44 69 65 65 89 119 112 66 44 73 65 67 104 66 114 109 66 44 69 65 65 87 113 109 66 44 69 65 67 88 65 44 69 65 65 81 44 67 65 65 69 44 77 65 69 86 65 44 69 65 65 81 65 44 69 65 65 77 53 100 44 77 65 65 79 50 78 44 71 65 79 116 66 44 73 65 74 65 44 73 65 65 73 50 71 44 69 65 67 72 118 72 44 69 65 65 81 44 69 65 67 82 122 87 44 69 65 65 83 115 110 66 44 69 65 65 77 116 110 66 44 79 65 69 82 121 87 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 118 66 117 72 44 69 65 65 79 115 74 44 69 65 65 79 55 81 44 71 65 67 100 56 102 44 71 65 65 85 67 44 83 65 65 85 120 89 44 71 65 65 83 117 89 44 71 65 65 85 67 44 83 65 65 85 120 89 44 73 65 65 85 44 71 65 67 51 68 117 89 44 71 65 65 85 67 44 83 65 65 85 120 89 44 71 65 65 79 105 66 44 81 65 65 83 104 101 44 73 65 73 116 67 48 49 66 44 87 65 65 89 44 67 65 51 87 98 44 83 65 65 50 66 122 50 66 44 69 65 65 77 111 110 66 44 69 65 65 79 121 80 44 71 65 67 118 67 44 73 65 65 73 47 89 44 69 65 65 77 120 90 44 69 65 65 79 52 99 44 69 65 65 81 114 67 44 69 65 65 79 52 89 44 69 65 65 83 67 44 69 65 65 87 67 44 69 65 65 103 66 53 88 44 69 65 67 110 69 54 88 44 69 65 65 81 44 85 65 65 87 120 81 44 71 65 65 83 44 87 65 65 89 65 44 69 65 67 120 67 107 81 44 69 65 65 79 47 54 66 44 75 65 67 80 50 116 66 44 69 65 65 79 44 71 65 67 80 112 75 44 69 65 65 81 57 102 44 69 65 65 75 56 102 44 77 65 67 98 56 86 44 69 65 65 83 53 49 66 44 69 65 65 75 108 67 44 85 65 65 89 43 104 66 44 71 65 65 111 66 55 102 44 71 65 67 57 67 54 51 66 44 69 65 65 87 55 90 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 44 85 65 54 66 104 67 44 73 65 65 77 56 100 44 75 65 49 66 65 43 89 44 69 65 65 75 112 101 44 81 65 69 97 44 79 65 68 118 66 111 71 44 69 65 65 81 114 102 44 71 65 65 79 115 102 44 89 65 65 97 57 101 44 69 65 65 77 44 79 65 67 118 66 56 51 66 44 87 65 67 86 106 90 44 69 65 65 77 105 90 44 83 65 65 87 44 69 65 67 106 66 76 44 69 65 65 85 53 89 44 69 65 65 77 104 79 44 77 65 65 77 56 72 44 75 65 67 116 66 107 71 44 69 65 65 77 104 79 44 77 65 65 77 56 72 44 75 65 65 79 44 87 65 67 90 107 71 44 69 65 65 77 105 90 44 85 65 67 88 76 44 77 65 73 72 53 89 44 69 65 65 77 105 90 44 87 65 69 78 82 44 69 65 65 75 104 101 44 79 65 65 81 44 87 65 71 90 103 101 44 69 65 65 75 104 101 44 79 65 65 81 44 87 65 67 90 117 70 44 69 65 65 77 105 90 44 87 65 67 65 116 52 66 44 71 65 65 79 105 90 44 77 65 65 79 122 89 44 69 65 65 77 44 77 65 65 79 70 44 81 65 67 104 67 43 101 44 69 65 65 77 104 79 44 77 65 65 77 56 72 44 89 65 79 70 121 79 44 69 65 69 98 44 71 65 68 65 57 105 66 44 69 65 65 81 56 105 66 44 69 65 65 79 116 74 44 71 65 67 86 50 88 44 71 65 65 83 122 120 66 44 75 65 65 77 77 44 71 65 65 85 44 67 65 71 55 66 44 85 65 70 79 56 105 66 44 69 65 65 79 116 74 44 71 65 67 100 111 68 44 69 65 65 83 65 44 71 65 65 111 66 44 87 65 65 86 53 99 44 69 65 67 100 65 44 75 65 65 89 115 120 66 44 69 65 65 83 44 79 65 65 83 44 81 65 65 87 44 67 65 73 55 67 44 71 65 65 101 44 83 65 65 86 116 120 66 44 73 65 65 111 66 117 122 66 44 81 65 65 105 67 114 49 66 44 73 65 65 114 66 113 49 66 44 69 65 65 85 47 90 44 71 65 75 57 67 44 83 65 74 65 56 88 44 71 65 65 83 44 69 65 79 88 49 76 44 69 65 65 77 112 77 44 71 65 65 83 43 90 44 71 65 65 89 65 44 69 65 65 85 47 90 44 73 65 65 85 116 101 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 56 100 44 71 65 77 114 69 44 73 65 68 65 52 90 44 71 65 65 97 108 52 66 44 71 65 65 79 50 68 44 99 65 65 101 105 107 66 44 77 65 67 104 66 53 110 66 44 71 65 65 79 50 68 44 99 65 65 101 43 109 66 44 71 65 56 68 122 67 44 73 65 65 77 112 77 44 75 65 122 68 68 56 90 44 71 65 65 50 66 44 73 65 65 108 66 53 51 66 44 69 65 65 75 108 67 44 87 65 77 108 66 43 52 66 44 69 65 65 75 107 66 44 83 65 65 87 44 67 65 65 69 106 89 44 69 65 65 77 105 89 44 83 65 65 85 106 89 44 69 65 65 77 107 89 44 85 65 65 87 108 89 44 69 65 65 77 109 89 44 87 65 73 108 67 44 79 65 68 118 66 78 44 69 65 65 105 66 69 44 71 65 65 89 65 44 69 65 65 83 57 88 44 87 65 69 114 67 52 88 44 69 65 65 105 66 51 90 44 69 65 65 83 122 100 44 73 65 65 75 80 44 69 65 65 77 44 89 65 71 114 66 44 85 65 68 106 66 43 102 44 69 65 65 85 118 103 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 99 65 69 116 66 50 51 66 44 69 65 67 74 53 88 44 69 65 65 85 52 88 44 71 65 73 86 57 87 44 71 65 65 85 44 67 65 65 69 55 103 66 44 73 65 65 81 44 71 65 67 112 66 50 51 66 44 69 65 65 105 66 51 51 66 44 69 65 65 75 56 102 44 77 65 65 77 67 44 83 65 65 87 52 88 44 69 65 67 118 67 53 88 44 69 65 65 85 118 103 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 87 65 67 53 66 54 103 66 44 71 65 65 85 44 67 65 65 69 55 103 66 44 79 65 75 71 44 87 65 65 90 43 102 44 71 65 65 111 67 44 105 66 65 65 90 65 44 71 65 65 103 68 44 77 65 65 108 66 52 88 44 73 65 67 114 66 44 83 65 65 104 67 110 52 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 87 65 71 104 66 48 51 66 44 73 65 67 76 74 44 69 65 65 75 106 120 66 44 75 65 65 77 44 87 65 67 86 121 90 44 69 65 65 77 67 44 81 65 65 85 52 88 44 73 65 69 77 44 77 65 65 108 66 65 44 73 65 67 74 53 88 44 69 65 65 85 68 44 69 65 65 77 67 44 81 65 67 104 66 52 88 44 69 65 65 54 66 44 83 65 65 90 53 88 44 69 65 65 113 66 44 71 65 65 75 65 44 73 65 71 55 67 68 44 69 65 65 77 67 44 81 65 65 85 44 105 66 65 75 100 56 87 44 69 65 65 75 107 66 44 87 65 67 84 106 89 44 69 65 65 77 105 89 44 83 65 65 87 44 83 65 67 106 66 84 44 69 65 65 75 104 101 44 79 65 65 81 44 87 65 67 90 119 71 44 69 65 65 77 105 89 44 83 65 65 87 108 66 44 69 65 65 75 107 66 44 83 65 65 85 44 71 65 67 104 67 106 89 44 69 65 65 77 107 89 44 85 65 65 89 110 66 44 69 65 65 75 107 66 44 83 65 65 85 44 71 65 67 106 67 106 89 44 69 65 65 77 109 89 44 85 65 65 89 112 66 44 69 65 65 75 107 66 44 83 65 65 85 44 77 65 75 110 67 76 44 71 65 65 89 44 69 65 67 69 120 78 44 69 65 71 80 119 78 44 73 65 67 65 71 44 69 65 67 67 44 87 65 65 89 65 44 73 65 67 104 66 106 67 44 69 65 65 83 105 67 44 69 65 65 83 106 67 44 81 65 71 110 66 105 67 44 69 65 65 87 55 90 44 69 65 65 83 120 66 44 79 65 65 81 120 99 44 69 65 65 77 44 83 65 65 85 44 67 65 65 69 43 102 44 81 65 65 83 52 88 44 73 65 73 110 68 122 87 44 73 65 67 74 50 87 44 69 65 65 83 106 67 44 81 65 65 85 65 44 71 65 73 102 65 44 71 65 67 74 47 85 44 71 65 65 85 44 67 65 65 69 55 103 66 44 73 65 65 81 44 71 65 75 114 66 115 51 66 44 69 65 65 75 106 120 66 44 75 65 65 77 44 87 65 83 86 44 73 65 65 77 121 88 44 75 65 74 65 56 88 44 71 65 67 76 47 85 44 71 65 65 85 44 67 65 65 69 55 103 66 44 73 65 69 98 103 101 44 69 65 65 83 108 70 44 79 65 65 81 57 89 44 69 65 65 77 44 85 65 67 84 107 113 66 44 69 65 67 98 49 113 66 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 56 100 44 69 65 65 77 111 77 44 69 65 65 77 112 77 44 79 65 77 110 67 52 90 44 69 65 65 89 118 66 44 71 65 65 97 80 44 69 65 65 83 105 67 44 69 65 65 85 47 90 44 71 65 65 83 44 69 65 65 71 65 44 69 65 65 77 119 90 44 71 65 67 116 68 120 90 44 75 65 65 81 43 90 44 73 65 67 102 65 44 69 65 65 85 47 90 44 71 65 65 83 52 90 44 69 65 65 85 55 111 66 44 77 65 67 120 66 43 109 66 44 73 65 67 74 56 66 44 69 65 65 85 47 49 66 44 73 65 65 77 43 49 66 44 69 65 65 85 55 111 66 44 77 65 67 49 66 54 111 66 44 69 65 65 85 55 111 66 44 77 65 65 81 44 77 65 117 77 114 66 113 112 66 44 85 65 65 87 44 83 65 65 85 110 51 66 44 69 65 65 85 43 113 66 44 71 65 67 122 66 65 44 69 65 67 74 117 75 44 71 65 65 85 73 44 87 65 65 87 49 88 44 81 65 65 83 104 101 44 71 65 69 57 66 115 49 66 44 71 65 65 85 73 44 87 65 65 87 116 53 66 44 75 65 65 77 52 68 44 77 65 75 57 66 118 66 44 71 65 65 79 50 52 66 44 77 65 65 81 44 83 65 65 85 65 44 69 65 65 79 114 71 44 69 65 65 81 110 121 66 44 71 65 67 118 67 44 73 65 65 73 54 49 66 44 69 65 65 77 50 67 44 71 65 65 48 66 44 105 66 65 65 86 65 44 69 65 65 113 66 51 52 66 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 113 50 66 44 71 65 65 85 44 67 65 67 51 69 102 44 83 65 65 85 122 51 66 44 73 65 65 79 65 44 71 65 65 77 109 121 66 44 71 65 67 116 66 108 48 66 44 69 65 65 89 117 54 66 44 73 65 65 87 65 44 69 65 67 120 66 120 68 44 83 65 65 85 119 68 44 69 65 67 86 114 71 44 79 65 65 81 110 121 66 44 71 65 65 77 109 121 66 44 71 65 65 85 65 44 73 65 65 87 108 48 66 44 69 65 65 89 107 48 66 44 73 65 65 89 65 44 71 65 111 67 53 68 44 79 65 104 67 75 116 121 66 44 71 65 65 79 115 49 66 44 71 65 65 71 47 81 44 73 65 67 100 121 82 44 69 65 65 73 98 44 83 65 65 87 44 69 65 71 99 44 105 66 65 65 106 66 97 44 69 65 65 73 98 44 87 65 67 86 97 44 69 65 65 73 98 44 89 65 65 89 110 49 66 44 71 65 65 79 115 49 66 44 71 65 65 71 115 68 44 79 65 67 57 66 53 67 44 69 65 65 73 98 44 83 65 65 87 110 49 66 44 71 65 65 79 115 49 66 44 71 65 65 71 115 68 44 79 65 65 81 53 67 44 69 65 65 73 98 44 85 65 71 114 67 97 44 69 65 65 73 98 44 83 65 65 87 110 49 66 44 71 65 65 79 115 49 66 44 71 65 65 71 115 68 44 79 65 65 79 108 87 44 85 65 77 106 66 44 77 65 65 98 115 84 44 69 65 65 73 47 99 44 81 65 65 43 66 44 73 65 65 100 43 99 44 69 65 65 73 47 99 44 81 65 67 55 66 43 99 44 69 65 65 73 47 99 44 77 65 65 81 44 77 65 73 98 43 99 44 69 65 65 73 120 73 44 73 65 65 77 119 73 44 69 65 65 73 52 66 44 83 65 69 100 53 66 44 69 65 65 73 52 66 44 83 65 65 87 44 87 65 67 84 120 53 66 44 69 65 65 89 52 51 66 44 69 65 65 73 120 73 44 77 65 67 112 66 119 73 44 69 65 65 73 120 73 44 73 65 65 73 104 119 66 44 75 65 65 77 84 44 77 65 71 86 105 53 66 44 69 65 65 73 47 99 44 79 65 67 82 106 90 44 71 65 65 79 109 102 44 81 65 65 83 112 105 66 44 75 65 65 77 105 53 66 44 69 65 65 73 47 99 44 81 65 73 114 66 43 99 44 71 65 71 82 104 50 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 117 50 66 44 79 65 65 81 44 83 65 65 85 70 44 69 65 65 79 71 44 69 65 65 73 120 71 44 69 65 65 81 47 119 66 44 71 65 71 112 67 44 79 65 65 79 120 69 44 75 65 65 75 54 80 44 79 65 65 81 121 84 44 73 65 65 113 66 71 44 73 65 65 75 44 85 65 65 87 44 71 65 65 73 99 44 79 65 71 51 68 110 102 44 77 65 65 77 52 50 66 44 81 65 65 83 44 67 65 65 69 118 71 44 81 65 65 83 115 71 44 71 65 65 77 72 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 73 65 69 108 68 119 51 66 44 81 65 65 83 44 83 65 65 85 122 97 44 69 65 65 77 113 97 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 71 65 67 118 67 44 73 65 65 73 56 80 44 69 65 65 81 114 82 44 71 65 65 79 50 68 44 99 65 65 101 50 97 44 71 65 67 106 67 48 97 44 69 65 65 83 104 53 66 44 71 65 65 79 50 52 66 44 77 65 65 79 65 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 71 65 67 116 67 48 51 66 44 69 65 65 99 44 87 65 71 98 44 73 65 65 73 110 66 44 69 65 65 79 106 66 44 71 65 65 87 57 53 66 44 75 65 65 77 105 68 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 103 99 44 71 65 65 81 48 97 44 73 65 71 108 68 51 110 66 44 71 65 65 83 109 78 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 44 89 65 67 106 67 43 54 66 44 69 65 65 75 116 89 44 77 65 65 77 44 73 65 77 100 44 79 65 70 65 121 90 44 69 65 65 89 67 44 79 65 65 83 68 44 69 65 69 100 53 110 66 44 73 65 65 48 66 44 73 65 65 106 66 50 110 66 44 69 65 65 79 47 102 44 77 65 67 116 66 108 99 44 75 65 65 75 117 69 44 75 65 65 77 50 51 66 44 71 65 67 88 108 56 66 44 75 65 65 75 107 99 44 77 65 65 79 43 102 44 69 65 65 79 47 102 44 77 65 65 79 103 103 66 44 73 65 69 53 66 122 90 44 75 65 65 77 44 83 65 65 85 57 103 66 44 69 65 65 77 103 104 66 44 69 65 65 89 43 88 44 71 65 67 106 67 44 73 65 65 73 48 66 44 69 65 65 89 44 83 65 65 85 57 90 44 71 65 67 122 66 44 73 65 65 73 71 44 69 65 65 79 72 44 69 65 65 77 71 44 89 65 67 86 72 44 69 65 65 77 71 44 75 65 67 98 65 44 69 65 65 77 105 89 44 73 65 89 80 44 77 65 84 113 66 44 105 66 65 65 84 47 52 66 44 73 65 67 88 43 52 66 44 69 65 65 85 47 88 44 69 65 67 86 65 44 69 65 65 97 104 104 66 44 69 65 67 98 65 44 79 65 65 79 115 69 44 71 65 69 72 48 99 44 71 65 67 74 51 105 66 44 75 65 65 75 107 99 44 77 65 65 79 118 97 44 71 65 65 81 44 75 65 65 77 44 73 65 71 112 66 51 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 44 73 65 65 73 54 100 44 71 65 65 85 44 69 65 67 98 112 73 44 69 65 65 103 66 44 77 65 65 82 114 89 44 71 65 65 103 66 65 44 69 65 65 79 44 97 65 67 47 66 48 54 66 44 69 65 65 83 112 53 66 44 71 65 65 79 111 53 66 44 79 65 67 104 66 47 97 44 69 65 65 79 71 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 77 65 69 116 66 44 71 65 65 75 103 97 44 69 65 67 67 115 72 44 69 65 65 77 116 72 44 73 65 65 87 115 72 44 69 65 65 77 116 72 44 71 65 65 81 121 73 44 77 65 67 110 67 50 90 44 69 65 65 87 57 97 44 69 65 65 77 116 72 44 83 65 71 108 66 44 73 65 65 77 65 44 75 65 65 83 115 72 44 69 65 67 84 65 44 69 65 65 77 116 72 44 73 65 65 87 115 72 44 69 65 65 77 116 72 44 71 65 65 81 121 73 44 77 65 65 81 48 87 44 71 65 65 75 49 120 66 44 75 65 65 77 117 83 44 73 65 67 116 68 111 105 66 44 69 65 65 87 57 97 44 69 65 65 77 116 72 44 73 65 75 112 66 44 73 65 65 77 65 44 69 65 65 81 113 105 66 44 69 65 65 79 57 52 66 44 79 65 65 81 121 87 44 75 65 67 118 66 113 105 66 44 69 65 65 81 114 105 66 44 71 65 65 81 118 87 44 79 65 65 83 122 68 44 77 65 67 110 66 44 77 65 65 82 50 66 44 71 65 65 103 66 48 54 66 44 69 65 65 81 114 105 66 44 71 65 65 81 107 67 44 81 65 65 85 118 97 44 73 65 69 53 67 48 54 66 44 69 65 65 81 114 105 66 44 71 65 65 81 43 103 66 44 75 65 65 75 116 89 44 75 65 65 77 105 89 44 71 65 67 51 66 116 89 44 71 65 65 85 44 69 65 67 86 105 97 44 69 65 65 79 47 50 66 44 79 65 65 81 48 85 44 69 65 65 79 44 75 65 79 110 66 111 73 44 71 65 65 89 115 89 44 71 65 67 104 66 122 51 66 44 71 65 65 79 109 102 44 81 65 65 83 112 105 66 44 75 65 65 77 50 66 44 77 65 73 122 66 119 54 66 44 79 65 65 81 44 83 65 65 85 120 54 66 44 71 65 73 106 66 44 79 65 72 99 44 73 65 65 84 65 44 73 65 67 74 65 44 69 65 65 79 65 44 71 65 65 81 44 77 65 69 84 51 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 44 73 65 65 73 121 86 44 69 65 67 72 115 72 44 69 65 65 79 71 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 77 65 67 114 66 107 99 44 69 65 65 81 111 70 44 69 65 65 77 51 102 44 69 65 65 79 44 83 65 67 114 66 50 103 66 44 69 65 65 81 104 66 44 69 65 65 77 51 102 44 69 65 65 79 44 99 65 67 114 66 48 54 66 44 69 65 65 83 112 53 66 44 71 65 65 79 111 53 66 44 79 65 67 104 66 57 52 66 44 69 65 65 83 50 89 44 69 65 65 81 65 44 69 65 65 77 51 89 44 79 65 65 83 44 69 65 97 106 67 44 73 65 86 65 43 100 44 69 65 65 75 54 97 44 81 65 65 83 44 69 65 71 100 108 53 66 44 71 65 65 79 105 90 44 77 65 65 79 108 99 44 75 65 65 77 50 66 44 69 65 65 77 44 73 65 69 114 66 50 103 66 44 71 65 65 83 65 44 69 65 65 77 71 44 77 65 67 110 66 72 44 69 65 65 77 71 44 75 65 65 75 104 105 66 44 75 65 65 77 84 44 77 65 65 77 44 71 65 73 108 66 103 97 44 69 65 65 81 113 105 66 44 69 65 65 79 57 52 66 44 79 65 65 81 121 87 44 75 65 67 118 66 113 105 66 44 69 65 65 81 114 105 66 44 71 65 65 81 118 87 44 79 65 65 83 122 68 44 77 65 65 81 113 56 66 44 69 65 65 81 114 105 66 44 71 65 65 81 107 67 44 81 65 65 85 118 97 44 73 65 67 47 68 48 54 66 44 69 65 65 81 114 105 66 44 71 65 65 81 43 103 66 44 75 65 65 75 116 89 44 77 65 65 77 44 71 65 67 51 66 52 90 44 69 65 65 79 47 50 66 44 79 65 65 81 48 85 44 69 65 65 79 44 73 65 75 120 66 44 73 65 65 77 65 44 69 65 65 81 44 69 65 65 71 65 44 69 65 65 81 122 87 44 69 65 65 81 121 87 44 73 65 67 51 66 107 67 44 69 65 65 79 108 67 44 73 65 65 87 107 67 44 69 65 65 79 108 67 44 71 65 65 81 109 105 66 44 81 65 67 114 67 106 103 66 44 69 65 65 79 108 67 44 71 65 65 81 109 105 66 44 79 65 65 79 49 55 66 44 75 65 65 77 84 44 97 65 75 118 66 115 104 66 44 69 65 65 75 54 97 44 89 65 75 102 108 53 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 44 83 65 65 85 44 79 65 65 81 44 81 65 65 85 44 83 65 65 85 54 68 44 69 65 65 73 49 69 44 71 65 67 120 68 44 73 65 65 73 52 52 66 44 69 65 65 81 114 53 66 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 67 118 66 84 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 65 83 44 83 65 65 85 107 52 66 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 71 65 67 53 67 44 79 65 65 103 66 44 77 65 65 84 111 51 66 44 71 65 65 107 67 44 107 66 65 65 86 65 44 69 65 67 57 66 85 44 69 65 65 77 51 55 66 44 77 65 65 79 88 44 75 65 65 77 48 69 44 87 65 67 110 66 49 69 44 75 65 65 75 103 56 66 44 81 65 65 83 116 67 44 71 65 65 79 104 50 66 44 71 65 65 77 44 71 65 65 81 107 52 66 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 77 65 75 114 68 118 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 103 52 66 44 85 65 65 87 55 67 44 71 65 65 79 44 81 65 67 108 66 56 67 44 81 65 65 83 57 67 44 71 65 65 79 44 81 65 67 104 66 43 67 44 89 65 65 97 47 67 44 71 65 65 79 44 85 65 67 112 66 103 68 44 79 65 65 81 44 67 65 65 69 106 72 44 81 65 65 83 44 81 65 67 110 66 107 72 44 81 65 65 83 44 67 65 65 69 108 72 44 81 65 65 83 44 81 65 67 112 66 109 72 44 87 65 65 89 44 67 65 65 69 110 72 44 81 65 65 83 44 87 65 67 114 66 44 83 65 65 85 47 120 66 44 69 65 65 77 109 110 66 44 71 65 67 108 66 53 110 66 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 65 83 44 83 65 65 85 107 52 66 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 71 65 67 53 67 44 79 65 65 79 120 69 44 75 65 65 75 103 56 66 44 81 65 65 83 110 82 44 69 65 65 79 43 81 44 69 65 65 79 114 71 44 69 65 65 81 47 119 66 44 77 65 73 55 67 118 66 44 71 65 65 79 111 53 66 44 79 65 65 83 44 71 65 67 104 66 112 53 66 44 71 65 65 79 115 49 66 44 71 65 65 71 105 66 44 75 65 65 79 44 87 65 67 104 66 44 73 65 65 73 115 66 44 69 65 67 72 51 52 66 44 69 65 65 73 44 69 65 67 74 107 54 66 44 69 65 65 83 112 53 66 44 71 65 65 79 111 53 66 44 79 65 73 106 66 44 73 65 70 65 116 68 44 71 65 65 81 55 78 44 75 65 65 75 67 44 77 65 69 76 104 112 66 44 69 65 65 73 107 54 66 44 69 65 65 79 57 52 66 44 79 65 65 81 112 66 44 75 65 67 49 66 50 52 66 44 69 65 65 81 117 66 44 69 65 65 81 108 54 66 44 79 65 71 67 107 54 66 44 69 65 65 81 108 54 66 44 75 65 65 81 50 52 66 44 71 65 67 104 67 117 66 44 69 65 65 79 47 50 66 44 79 65 65 81 110 68 44 73 65 65 75 44 71 65 73 104 66 107 54 66 44 69 65 65 79 57 52 66 44 81 65 67 90 78 44 71 65 65 79 115 49 66 44 71 65 65 71 57 86 44 79 65 69 88 115 87 44 81 65 65 81 57 121 66 44 71 65 71 84 104 68 44 71 65 65 79 115 49 66 44 71 65 65 71 117 67 44 77 65 65 81 44 83 65 65 85 65 44 71 65 67 51 66 55 51 66 44 71 65 65 79 111 53 66 44 79 65 65 79 122 55 66 44 75 65 65 77 107 54 66 44 71 65 67 112 66 55 51 66 44 71 65 65 79 115 49 66 44 71 65 65 71 106 109 66 44 83 65 71 88 114 80 44 71 65 65 79 115 49 66 44 71 65 65 71 103 66 44 83 65 65 87 44 71 65 67 114 66 116 50 66 44 71 65 65 79 115 49 66 44 71 65 65 71 106 109 66 44 77 65 65 81 44 87 65 67 90 48 109 66 44 75 65 73 76 65 44 73 65 65 97 44 69 65 67 98 73 44 79 65 71 68 110 50 66 44 71 65 65 79 115 49 66 44 71 65 65 71 57 86 44 75 65 65 79 44 87 65 67 104 66 117 87 44 71 65 65 97 44 77 65 71 100 47 49 66 44 71 65 65 79 115 49 66 44 71 65 65 71 115 68 44 79 65 65 83 44 67 65 67 108 66 103 66 44 75 65 65 77 44 73 65 67 78 67 44 75 65 65 77 44 73 65 71 78 110 88 44 83 65 65 85 44 75 65 75 88 49 105 66 44 71 65 65 79 71 44 71 65 65 71 50 53 66 44 77 65 65 81 44 83 65 65 85 67 44 69 65 65 77 114 55 66 44 71 65 73 106 67 44 79 65 72 65 113 55 66 44 69 65 65 79 47 53 66 44 71 65 65 79 115 49 66 44 73 65 65 75 116 49 66 44 71 65 65 79 115 49 66 44 71 65 65 71 115 68 44 79 65 65 81 109 66 44 73 65 65 105 66 65 44 69 65 67 116 68 114 55 66 44 69 65 65 79 65 44 71 65 65 81 44 75 65 69 82 51 66 44 75 65 65 75 107 99 44 77 65 65 79 118 97 44 69 65 65 77 44 83 65 65 85 56 75 44 69 65 65 77 54 86 44 71 65 67 120 67 44 73 65 65 73 50 97 44 69 65 65 85 108 57 66 44 71 65 65 79 50 101 44 87 65 65 89 106 83 44 69 65 65 77 117 119 66 44 71 65 67 118 67 49 97 44 69 65 65 77 71 44 75 65 65 79 44 87 65 67 90 49 105 66 44 71 65 65 79 109 57 66 44 97 65 65 99 68 44 79 65 79 110 66 47 115 66 44 71 65 65 81 116 81 44 69 65 65 83 48 67 44 99 65 65 101 44 83 65 69 110 67 50 50 66 44 71 65 68 83 114 53 66 44 69 65 65 83 48 67 44 99 65 65 101 44 85 65 67 112 66 75 44 89 65 65 97 47 67 44 69 65 65 83 48 67 44 99 65 65 101 44 87 65 69 110 68 52 78 44 71 65 65 77 118 79 44 75 65 65 79 44 87 65 73 98 80 44 71 65 65 81 43 55 66 44 81 65 65 48 66 44 75 65 65 104 66 106 116 66 44 71 65 65 77 110 73 44 77 65 73 120 66 51 71 44 71 65 65 81 103 56 66 44 89 65 65 99 110 69 44 71 65 65 73 55 107 66 44 85 65 73 49 66 108 69 44 71 65 65 81 116 81 44 69 65 65 83 48 67 44 99 65 65 101 44 85 65 67 49 66 121 70 44 77 65 65 81 44 73 65 67 100 109 73 44 71 65 65 77 118 79 44 75 65 65 79 44 81 65 67 98 80 44 71 65 65 81 105 56 66 44 87 65 65 54 66 44 77 65 65 104 66 110 116 66 44 71 65 65 77 110 73 44 77 65 73 53 66 44 73 65 65 73 117 49 66 44 71 65 67 72 53 115 66 44 71 65 65 97 122 78 44 71 65 65 79 113 78 44 75 65 65 75 73 44 87 65 69 49 66 122 78 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 107 76 44 75 65 65 77 44 83 65 65 85 47 77 44 69 65 65 77 113 69 44 71 65 67 114 66 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 105 68 44 71 65 65 79 119 78 44 75 65 65 77 47 77 44 69 65 65 77 113 69 44 69 65 65 48 66 44 69 65 65 110 66 114 68 44 85 65 65 85 110 66 44 83 65 71 49 68 103 54 66 44 87 65 65 89 44 83 65 65 85 55 53 66 44 71 65 67 114 66 44 79 65 65 79 49 68 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 116 66 44 71 65 65 79 115 54 66 44 87 65 65 89 118 57 66 44 75 65 65 77 48 68 44 81 65 75 53 66 84 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 107 76 44 75 65 65 77 44 83 65 65 85 104 78 44 69 65 65 77 67 44 69 65 65 77 113 69 44 71 65 67 51 66 44 73 65 65 73 51 68 44 69 65 65 75 107 101 44 69 65 67 82 107 98 44 69 65 65 81 47 53 66 44 69 65 65 75 108 67 44 83 65 71 100 44 71 65 65 101 44 73 65 65 86 105 56 66 44 71 65 65 121 66 44 73 65 65 86 65 44 71 65 65 121 66 44 73 65 65 86 65 44 69 65 75 110 67 44 77 65 65 107 67 44 111 66 65 65 116 66 47 53 66 44 69 65 65 75 106 66 44 97 65 67 84 83 44 71 65 65 79 115 101 44 75 65 65 77 57 100 44 69 65 65 77 67 44 69 65 65 77 113 69 44 73 65 75 108 66 44 73 65 65 86 121 49 66 44 71 65 65 103 66 118 54 66 44 71 65 65 79 107 69 44 83 65 65 85 49 68 44 75 65 67 114 67 54 101 44 69 65 65 81 114 102 44 71 65 65 79 119 54 66 44 85 65 65 87 47 53 66 44 69 65 65 75 67 44 105 66 65 67 53 66 86 44 71 65 65 79 113 78 44 75 65 65 75 114 68 44 77 65 65 77 51 66 44 75 65 65 75 55 68 44 75 65 65 77 47 68 44 71 65 65 83 52 53 66 44 81 65 65 87 114 51 66 44 83 65 71 116 67 65 44 73 65 65 86 56 66 44 69 65 67 87 44 79 65 65 86 65 44 79 65 67 74 57 69 44 71 65 65 79 115 54 66 44 87 65 65 89 57 53 66 44 69 65 65 77 67 44 71 65 73 114 66 52 101 44 71 65 65 83 44 81 65 65 83 65 44 81 65 67 117 66 114 99 44 75 65 65 51 67 55 66 44 69 65 65 77 107 101 44 69 65 65 77 106 66 44 73 65 65 75 53 100 44 69 65 65 77 115 69 44 69 65 65 79 114 69 44 73 65 67 122 66 85 44 71 65 71 82 88 44 69 65 65 75 104 66 44 97 65 65 99 105 66 44 69 65 65 77 113 69 44 69 65 65 81 44 73 65 67 49 66 65 44 71 65 71 72 117 97 44 71 65 65 83 44 81 65 65 83 65 44 71 65 65 43 67 44 81 65 65 112 67 108 101 44 69 65 65 77 107 101 44 69 65 65 77 116 101 44 73 65 65 75 80 44 69 65 65 77 67 44 73 65 67 106 68 85 44 69 65 77 77 44 79 65 72 100 65 44 69 65 65 77 110 66 44 71 65 65 79 52 74 44 75 65 65 75 52 68 44 75 65 65 77 104 78 44 69 65 65 77 67 44 83 65 71 84 117 67 44 69 65 65 89 55 66 44 73 65 71 108 67 113 53 66 44 85 65 65 87 44 67 65 67 86 57 55 66 44 75 65 65 77 44 67 65 67 76 48 102 44 73 65 65 75 44 83 65 65 85 53 100 44 69 65 65 77 115 69 44 71 65 67 112 66 44 73 65 65 77 51 71 44 71 65 65 81 105 56 66 44 89 65 65 119 66 44 85 65 65 86 116 49 66 44 71 65 67 51 66 118 69 44 71 65 65 85 67 44 69 65 65 77 44 83 65 65 89 44 67 65 67 53 66 44 73 65 65 73 114 66 44 69 65 65 77 113 66 44 69 65 65 75 115 69 44 77 65 75 102 44 79 65 74 65 116 69 44 69 65 65 75 104 66 44 97 65 65 99 44 79 65 65 81 115 70 44 71 65 67 116 66 51 70 44 73 65 67 74 113 66 44 69 65 65 75 115 69 44 77 65 65 81 51 70 44 71 65 69 80 50 70 44 77 65 77 88 119 49 66 44 87 65 65 89 44 83 65 65 85 57 53 66 44 69 65 65 77 115 69 44 71 65 67 51 66 44 73 65 65 73 114 69 44 69 65 67 72 118 66 44 69 65 65 73 44 69 65 73 74 117 55 66 44 69 65 65 89 51 49 66 44 71 65 65 83 65 44 69 65 65 77 107 70 44 77 65 65 79 50 78 44 71 65 69 110 67 44 71 65 65 75 56 105 66 44 71 65 65 43 66 44 73 65 65 108 66 106 54 66 44 69 65 65 75 108 67 44 83 65 67 116 66 44 77 65 65 85 109 67 44 69 65 65 79 103 54 66 44 69 65 65 87 118 55 66 44 75 65 67 51 66 115 66 44 69 65 65 75 119 75 44 103 66 65 65 105 66 118 75 44 77 65 79 49 66 52 53 66 44 71 65 65 87 44 67 65 67 86 106 99 44 73 65 65 75 44 83 65 65 85 53 100 44 69 65 65 77 115 69 44 69 65 65 79 114 69 44 71 65 81 51 66 44 79 65 80 101 44 73 65 65 86 113 69 44 69 65 71 74 57 69 44 71 65 65 79 115 54 66 44 87 65 65 89 57 53 66 44 69 65 65 77 67 44 71 65 69 122 66 68 44 69 65 65 75 104 66 44 97 65 65 99 105 66 44 69 65 65 77 65 44 71 65 69 110 66 65 44 73 65 73 84 84 44 71 65 65 79 115 66 44 75 65 65 77 116 66 44 71 65 65 79 113 78 44 75 65 65 75 114 68 44 77 65 65 77 51 66 44 75 65 65 75 48 88 44 79 65 65 79 47 86 44 77 65 65 79 44 81 65 65 85 44 83 65 65 85 55 69 44 69 65 65 73 49 69 44 71 65 67 122 69 44 73 65 65 73 105 54 66 44 69 65 65 83 106 116 66 44 71 65 65 89 104 78 44 73 65 65 85 84 44 71 65 65 79 52 74 44 75 65 65 75 52 68 44 75 65 69 47 67 67 44 71 65 65 89 104 78 44 71 65 65 83 44 83 65 65 85 68 44 69 65 65 77 67 44 69 65 65 77 54 85 44 71 65 67 49 67 44 73 65 65 73 110 85 44 69 65 65 75 121 107 66 44 69 65 67 82 43 85 44 69 65 65 103 66 108 54 66 44 69 65 65 75 67 44 99 65 89 116 66 44 79 65 86 77 52 85 44 73 65 71 76 115 81 44 69 65 65 83 110 89 44 71 65 65 89 107 116 66 44 71 65 67 114 66 108 116 66 44 71 65 65 89 107 116 66 44 71 65 65 107 66 120 53 66 44 69 65 67 57 66 65 44 69 65 65 113 67 44 77 65 65 47 66 117 53 66 44 69 65 65 81 108 54 66 44 69 65 65 77 67 44 69 65 65 77 54 85 44 71 65 67 122 66 113 108 66 44 69 65 67 65 44 75 65 67 68 108 116 66 44 71 65 65 89 107 116 66 44 71 65 65 107 66 47 85 44 71 65 69 120 66 122 107 66 44 75 65 79 84 44 73 65 65 73 121 53 66 44 71 65 65 97 44 115 67 65 67 104 66 67 44 71 65 65 97 44 103 66 65 119 73 98 44 83 65 65 83 67 44 71 65 65 107 66 104 50 66 44 71 65 69 49 66 44 79 65 68 97 65 44 69 65 65 77 107 70 44 77 65 65 79 50 78 44 73 65 65 109 66 44 73 65 67 47 66 57 77 44 75 65 65 77 44 75 65 73 116 66 44 83 65 65 83 107 119 66 44 71 65 65 85 118 54 66 44 71 65 67 108 66 44 79 65 65 79 65 44 69 65 65 75 106 66 44 99 65 65 103 66 105 66 44 69 65 65 75 106 66 44 97 65 65 99 44 85 65 65 97 44 71 65 71 55 68 44 83 65 65 83 121 55 66 44 71 65 65 103 66 108 50 66 44 71 65 67 120 66 44 79 65 65 75 104 67 44 77 65 65 77 67 44 81 65 65 83 43 66 44 71 65 67 90 65 44 69 65 69 99 44 105 66 65 65 86 65 44 71 65 67 74 65 44 69 65 65 77 107 70 44 77 65 65 79 50 78 44 73 65 69 100 44 71 65 118 74 82 51 88 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 103 99 44 75 65 65 77 44 83 65 65 85 55 100 44 69 65 65 77 113 69 44 71 65 67 114 66 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 105 68 44 71 65 65 79 115 101 44 75 65 65 77 55 100 44 69 65 65 77 113 69 44 69 65 65 48 66 44 69 65 65 110 66 114 68 44 85 65 65 85 110 66 44 83 65 71 49 68 50 54 66 44 87 65 65 89 44 83 65 65 85 120 54 66 44 71 65 67 114 66 44 79 65 65 79 49 68 44 75 65 65 75 117 69 44 75 65 65 77 44 107 66 65 67 86 118 69 44 75 65 65 77 105 68 44 71 65 65 79 107 55 66 44 81 65 65 83 122 54 66 44 73 65 65 85 65 44 81 65 75 49 67 84 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 103 99 44 75 65 65 77 44 83 65 65 85 57 100 44 69 65 65 77 67 44 69 65 65 77 113 69 44 71 65 67 51 66 44 73 65 65 73 51 68 44 69 65 65 75 107 101 44 69 65 67 82 107 98 44 69 65 65 81 47 53 66 44 69 65 65 75 108 67 44 83 65 71 100 44 71 65 65 101 44 73 65 65 86 105 56 66 44 71 65 65 121 66 44 73 65 65 86 65 44 71 65 65 121 66 44 73 65 65 86 65 44 69 65 87 110 67 44 79 65 80 101 44 73 65 65 86 65 44 71 65 65 103 66 118 54 66 44 71 65 65 79 107 69 44 83 65 65 85 49 68 44 75 65 71 114 67 67 44 69 65 65 79 84 44 71 65 65 79 107 55 66 44 81 65 65 83 122 54 66 44 73 65 65 85 65 44 69 65 67 106 67 52 101 44 69 65 65 81 114 102 44 71 65 65 79 43 48 66 44 85 65 65 87 116 48 66 44 83 65 71 90 117 67 44 73 65 65 86 56 66 44 69 65 67 67 117 97 44 71 65 65 83 44 81 65 65 83 65 44 81 65 67 117 66 114 99 44 75 65 65 51 67 55 66 44 69 65 65 77 107 101 44 69 65 65 77 106 66 44 73 65 65 75 53 100 44 69 65 65 77 115 69 44 69 65 65 79 114 69 44 73 65 67 122 66 85 44 69 65 71 67 88 44 69 65 65 77 67 44 71 65 65 83 113 69 44 69 65 71 112 66 117 97 44 71 65 65 83 44 81 65 65 83 65 44 71 65 65 43 67 44 81 65 65 112 67 108 101 44 69 65 65 77 107 101 44 69 65 65 77 116 101 44 73 65 65 75 80 44 69 65 65 77 67 44 73 65 67 106 68 85 44 69 65 71 68 88 44 69 65 65 77 67 44 73 65 71 100 115 48 66 44 85 65 65 87 44 67 65 67 86 47 106 66 44 83 65 65 85 44 67 65 67 84 106 81 44 73 65 65 75 44 83 65 65 85 80 44 71 65 77 100 44 73 65 65 73 50 54 66 44 69 65 65 87 110 55 66 44 71 65 65 79 52 74 44 75 65 65 75 52 68 44 75 65 65 77 104 78 44 69 65 65 77 44 89 65 69 118 67 44 79 65 65 75 50 54 66 44 69 65 67 71 106 76 44 83 65 65 85 105 76 44 69 65 65 85 44 73 65 73 51 66 80 44 71 65 65 87 112 50 66 44 75 65 65 77 104 69 44 69 65 65 75 68 44 87 65 67 116 66 115 54 66 44 71 65 65 87 114 50 66 44 75 65 65 77 104 69 44 69 65 65 75 68 44 87 65 67 116 66 67 44 69 65 65 75 117 81 44 75 65 69 69 44 71 65 71 65 44 75 65 75 88 109 113 66 44 81 65 65 83 44 67 65 67 82 69 44 77 65 65 79 44 85 65 67 80 67 44 81 65 65 83 44 101 65 89 76 108 57 66 44 71 65 65 81 103 56 66 44 99 65 67 98 110 54 66 44 71 65 65 79 43 48 66 44 85 65 65 85 53 106 66 44 83 65 65 87 44 67 65 67 51 66 112 81 44 73 65 65 75 44 83 65 65 85 80 44 71 65 73 100 44 73 65 65 73 56 79 44 69 65 65 83 57 79 44 69 65 65 75 98 44 87 65 73 108 66 44 79 65 72 75 50 80 44 71 65 65 85 65 44 69 65 65 79 51 80 44 89 65 67 114 66 50 80 44 69 65 65 79 51 80 44 87 65 65 87 121 82 44 99 65 69 90 44 77 65 69 82 103 78 44 73 65 65 75 44 83 65 65 85 53 100 44 71 65 73 100 44 73 65 65 73 56 79 44 69 65 65 83 57 79 44 69 65 65 75 98 44 87 65 67 98 50 80 44 73 65 67 74 65 44 69 65 65 79 56 66 44 99 65 69 70 57 66 44 69 65 65 79 51 80 44 89 65 67 88 50 80 44 69 65 65 79 51 80 44 87 65 65 87 121 82 44 107 66 65 79 118 66 112 82 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 44 87 65 67 65 44 87 65 67 65 44 89 65 67 65 44 99 65 67 65 44 99 65 67 65 44 85 65 67 65 44 85 65 67 65 44 83 65 67 65 44 99 65 67 65 44 109 66 65 67 69 44 87 65 67 70 116 66 44 71 65 65 79 107 55 66 44 81 65 65 83 110 43 66 44 75 65 65 75 50 68 44 101 65 65 107 66 51 68 44 79 65 52 66 120 67 105 68 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 103 53 66 44 83 65 65 85 44 83 65 65 85 120 50 66 44 71 65 67 110 66 44 73 65 65 73 121 50 66 44 69 65 65 89 53 107 66 44 69 65 65 75 54 107 66 44 69 65 65 85 120 117 66 44 69 65 65 87 57 78 44 69 65 65 71 117 56 66 44 69 65 69 55 67 44 79 65 65 75 114 57 66 44 69 65 65 89 48 71 44 71 65 67 84 47 72 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 89 44 71 65 67 51 66 108 67 44 71 65 65 81 106 68 44 77 65 65 79 117 43 66 44 83 65 65 85 120 50 66 44 69 65 65 77 116 72 44 75 65 65 77 84 44 75 65 65 77 109 70 44 69 65 65 71 54 52 66 44 71 65 65 85 104 43 66 44 87 65 73 49 68 119 43 66 44 69 65 65 97 80 44 71 65 65 103 66 108 50 66 44 73 65 69 98 120 69 44 79 65 67 82 118 68 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 73 106 66 44 71 65 72 65 107 54 66 44 69 65 65 87 84 44 71 65 65 85 104 43 66 44 77 65 67 114 66 52 90 44 69 65 65 119 66 44 73 65 65 108 66 53 90 44 75 65 65 75 117 66 44 85 65 65 111 66 44 73 65 65 77 119 56 66 44 71 65 65 107 66 85 44 71 65 65 97 44 73 65 69 122 68 44 67 65 67 86 44 73 65 65 77 116 56 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 113 56 66 44 69 65 65 87 106 55 66 44 79 65 65 81 112 66 44 73 65 67 110 67 56 78 44 69 65 65 89 117 117 66 44 69 65 65 89 114 56 66 44 71 65 67 110 66 121 88 44 69 65 65 73 47 89 44 81 65 65 83 44 73 65 65 77 111 80 44 69 65 65 89 44 75 65 65 81 44 73 65 67 51 67 50 74 44 71 65 65 79 51 74 44 69 65 65 89 44 75 65 75 114 66 121 117 66 44 69 65 65 97 88 44 71 65 65 107 66 110 107 66 44 71 65 67 49 66 54 107 66 44 73 65 65 97 67 44 71 65 67 106 66 49 43 66 44 75 65 65 75 121 67 44 97 65 65 99 44 81 65 65 83 105 56 66 44 77 65 77 122 66 49 43 66 44 77 65 71 82 50 43 66 44 89 65 65 97 44 83 65 65 85 53 50 66 44 71 65 67 116 66 44 73 65 65 73 121 50 66 44 69 65 65 89 53 107 66 44 69 65 65 75 54 107 66 44 69 65 65 85 120 117 66 44 69 65 65 87 57 78 44 69 65 65 71 117 56 66 44 69 65 69 55 67 44 79 65 65 75 114 57 66 44 69 65 65 89 48 71 44 71 65 67 84 47 72 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 89 44 71 65 67 51 66 108 67 44 71 65 65 81 106 68 44 77 65 65 79 50 43 66 44 89 65 65 97 53 50 66 44 69 65 65 77 116 72 44 75 65 65 77 84 44 75 65 65 77 109 70 44 69 65 65 71 54 52 66 44 71 65 65 85 104 43 66 44 85 65 73 118 68 48 69 44 85 65 65 85 110 66 44 81 65 73 104 66 105 55 66 44 69 65 65 97 80 44 71 65 65 103 66 108 50 66 44 73 65 69 98 120 69 44 79 65 67 82 118 68 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 77 106 66 44 71 65 76 65 107 54 66 44 69 65 65 87 84 44 71 65 65 85 104 43 66 44 77 65 71 114 66 52 90 44 69 65 65 119 66 44 73 65 65 108 66 53 90 44 75 65 65 75 117 66 44 85 65 65 111 66 44 73 65 65 77 119 56 66 44 71 65 65 107 66 85 44 71 65 65 97 44 73 65 69 122 68 44 67 65 67 86 44 73 65 65 77 116 56 66 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 113 56 66 44 69 65 65 87 106 55 66 44 79 65 65 81 112 66 44 73 65 65 77 44 67 65 67 122 67 56 78 44 69 65 65 89 117 117 66 44 69 65 65 89 114 56 66 44 71 65 71 120 66 44 79 65 65 103 68 44 69 65 65 120 67 121 88 44 69 65 65 73 47 89 44 81 65 65 83 44 73 65 65 77 111 80 44 69 65 65 89 44 75 65 67 116 67 50 74 44 69 65 65 77 65 44 69 65 65 73 118 84 44 81 65 65 83 44 73 65 65 77 52 74 44 69 65 65 89 44 73 65 65 75 44 75 65 75 53 67 121 117 66 44 69 65 65 97 88 44 71 65 65 107 66 110 107 66 44 71 65 67 49 66 54 107 66 44 73 65 65 97 67 44 71 65 67 106 66 49 43 66 44 75 65 65 75 121 67 44 97 65 65 99 44 81 65 65 83 105 56 66 44 77 65 77 122 66 49 43 66 44 75 65 47 66 67 65 44 75 65 65 75 121 81 44 75 65 65 77 44 81 65 65 83 44 75 65 107 67 55 66 109 117 66 44 89 65 65 97 44 83 65 65 85 55 50 66 44 69 65 65 79 56 50 66 44 71 65 67 55 66 44 73 65 65 73 76 44 69 65 65 89 118 117 66 44 69 65 65 87 57 78 44 69 65 65 71 43 87 44 69 65 67 55 66 118 88 44 83 65 65 99 111 71 44 69 65 67 100 43 50 66 44 69 65 65 119 66 44 87 65 65 84 110 57 66 44 71 65 65 113 66 111 69 44 77 65 65 77 67 44 81 65 65 83 43 66 44 71 65 69 112 68 44 79 65 65 75 49 71 44 69 65 65 89 48 71 44 71 65 67 84 47 72 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 112 67 44 71 65 67 51 66 99 44 71 65 65 81 106 68 44 77 65 65 79 52 43 66 44 89 65 67 100 55 50 66 44 69 65 65 77 116 72 44 75 65 65 77 84 44 75 65 65 77 109 67 44 69 65 65 71 54 55 66 44 71 65 65 85 104 43 66 44 77 65 65 81 54 43 66 44 71 65 67 118 67 65 44 75 65 75 115 66 44 107 66 65 65 98 65 44 71 65 65 48 66 67 44 69 65 67 57 66 68 44 69 65 65 87 55 43 66 44 75 65 65 75 117 43 66 44 83 65 65 85 120 50 66 44 71 65 65 85 47 72 44 75 65 65 75 50 43 66 44 89 65 65 97 53 50 66 44 73 65 71 57 68 121 50 66 44 69 65 65 97 80 44 71 65 65 103 66 108 50 66 44 71 65 69 116 66 47 72 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 44 71 65 65 75 117 54 66 44 69 65 75 74 44 73 65 70 65 53 108 66 44 69 65 65 79 106 87 44 71 65 65 81 106 68 44 77 65 69 84 109 67 44 69 65 65 73 44 69 65 65 71 65 44 69 65 65 73 113 56 66 44 69 65 65 87 106 55 66 44 79 65 65 81 112 66 44 73 65 67 110 67 56 78 44 69 65 65 89 117 117 66 44 69 65 65 89 114 56 66 44 71 65 71 110 66 43 87 44 69 65 65 75 54 108 66 44 83 65 65 85 57 117 66 44 71 65 67 110 66 105 74 44 69 65 65 75 121 108 66 44 89 65 65 97 49 117 66 44 71 65 69 108 66 105 74 44 69 65 65 75 113 108 66 44 83 65 65 85 116 117 66 44 97 65 75 73 104 75 44 73 65 65 86 56 66 44 71 65 65 103 67 44 89 65 65 84 112 71 44 75 65 67 108 67 115 79 44 69 65 65 89 43 116 66 44 71 65 65 85 104 43 66 44 81 65 73 114 66 121 104 66 44 69 65 65 83 74 44 73 65 65 75 114 104 66 44 75 65 65 77 44 103 66 65 65 105 66 105 81 44 71 65 79 106 67 106 81 44 75 65 65 75 121 67 44 99 65 67 84 122 67 44 75 65 65 75 121 67 44 97 65 65 99 44 81 65 67 108 66 119 78 44 73 65 65 117 66 44 73 65 65 86 108 73 44 69 65 67 90 44 71 65 67 65 48 90 44 69 65 65 83 122 100 44 73 65 65 75 104 69 44 75 65 65 77 44 107 66 65 65 113 66 44 83 65 79 47 67 43 43 66 44 83 65 65 85 44 83 65 65 85 55 55 66 44 71 65 67 110 66 44 73 65 65 73 43 77 44 69 65 65 87 120 77 44 69 65 67 100 116 66 44 69 65 65 73 44 69 65 69 76 56 78 44 69 65 65 89 44 73 65 65 77 47 77 44 69 65 65 87 44 73 65 67 55 66 44 77 65 65 85 79 44 69 65 65 79 122 68 44 75 65 65 77 109 67 44 75 65 67 116 66 44 71 65 65 117 66 44 73 65 65 108 66 115 66 44 69 65 65 75 108 67 44 87 65 67 111 69 44 71 65 65 51 69 44 73 65 65 77 119 56 66 44 71 65 65 107 66 67 44 71 65 65 85 118 54 66 44 73 65 65 87 44 75 65 65 77 53 67 44 81 65 65 83 111 80 44 71 65 67 57 68 44 79 65 65 79 44 69 65 73 84 44 79 65 65 79 44 75 65 79 84 44 73 65 65 73 43 117 66 44 71 65 65 85 44 77 65 69 100 47 55 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 110 68 44 73 65 65 75 44 83 65 65 85 50 70 44 71 65 67 100 44 73 65 65 73 117 97 44 69 65 65 79 108 101 44 69 65 65 75 117 113 66 44 69 65 67 102 108 114 66 44 69 65 65 79 122 68 44 75 65 65 77 44 71 65 69 100 44 79 65 65 77 48 69 44 85 65 65 85 110 66 44 81 65 48 66 104 66 111 114 66 44 69 65 65 107 66 116 116 66 44 69 65 65 89 48 71 44 71 65 69 118 66 47 72 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 112 67 44 71 65 67 51 66 44 73 65 65 73 67 44 69 65 69 109 66 44 73 65 65 108 66 112 67 44 75 65 65 75 117 66 44 87 65 87 69 44 79 65 78 88 97 44 69 65 68 73 117 115 66 44 69 65 67 69 53 109 66 44 69 65 65 77 116 72 44 75 65 65 77 84 44 75 65 65 77 109 67 44 69 65 65 71 99 44 71 65 65 81 106 68 44 77 65 65 79 111 67 44 79 65 69 112 67 50 70 44 71 65 75 78 51 70 44 69 65 65 77 44 71 65 69 111 66 44 105 66 65 65 82 65 44 69 65 67 108 66 65 44 71 65 65 79 44 71 65 69 73 50 68 44 77 65 65 77 67 44 81 65 65 83 53 68 44 75 65 67 49 66 65 44 69 65 65 77 97 44 71 65 65 79 119 66 44 73 65 65 75 114 67 44 69 65 65 75 44 83 65 65 85 50 70 44 71 65 67 104 67 44 79 65 65 103 66 44 77 65 65 84 65 44 69 65 65 103 66 44 71 65 65 75 65 44 69 65 65 81 44 79 65 73 116 67 117 97 44 69 65 65 81 114 102 44 71 65 65 79 103 56 66 44 83 65 65 85 106 47 66 44 75 65 65 75 50 66 44 79 65 65 85 115 66 44 71 65 65 79 103 56 66 44 83 65 65 85 106 47 66 44 75 65 65 75 119 68 44 83 65 65 83 71 44 105 66 65 71 114 68 44 81 65 65 83 50 101 44 81 65 65 43 67 114 99 44 73 65 65 112 67 113 99 44 69 65 65 77 106 66 44 73 65 65 75 114 104 66 44 75 65 65 77 111 67 44 69 65 65 75 44 87 65 67 51 68 112 67 44 75 65 65 75 43 72 44 77 65 65 81 51 70 44 79 65 122 68 84 113 66 44 71 65 67 74 54 101 44 69 65 65 81 114 102 44 71 65 65 79 103 56 66 44 83 65 65 85 120 55 66 44 69 65 65 75 57 66 44 79 65 67 55 66 115 66 44 71 65 65 79 103 56 66 44 83 65 65 85 120 55 66 44 69 65 65 75 68 44 83 65 65 83 71 44 105 66 65 71 47 66 44 81 65 65 83 50 101 44 81 65 67 103 67 114 99 44 75 65 65 118 67 55 66 44 69 65 65 77 107 101 44 69 65 65 77 116 101 44 73 65 65 75 80 44 69 65 65 77 44 85 65 69 108 66 87 44 69 65 77 89 44 105 66 65 72 112 66 65 44 69 65 65 77 88 44 69 65 65 75 115 69 44 79 65 73 72 51 68 44 69 65 65 73 105 67 44 81 65 65 83 50 52 66 44 71 65 65 83 44 73 65 73 104 66 44 77 65 65 80 53 54 66 44 69 65 65 99 44 71 65 65 75 65 44 79 65 71 51 66 44 75 65 121 67 72 110 66 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 100 48 53 66 44 83 65 65 85 44 67 65 67 84 53 90 44 79 65 65 81 44 67 65 67 80 114 104 66 44 73 65 65 75 44 83 65 65 85 80 44 71 65 69 100 44 73 65 65 73 114 66 44 69 65 65 77 97 44 71 65 65 79 52 74 44 75 65 65 75 52 68 44 75 65 65 77 104 78 44 69 65 65 77 44 83 65 67 108 67 44 79 65 65 99 44 77 65 65 80 114 66 44 69 65 67 78 65 44 69 65 77 65 50 55 66 44 71 65 65 107 66 57 54 66 44 71 65 65 79 86 44 75 65 65 77 107 66 44 77 65 71 108 67 121 75 44 79 65 65 81 44 67 65 67 80 108 75 44 73 65 65 75 44 83 65 65 85 80 44 71 65 67 100 44 73 65 65 73 115 69 44 69 65 65 79 115 100 44 69 65 65 81 108 106 66 44 69 65 67 108 66 113 68 44 69 65 65 85 47 66 44 69 65 65 75 43 66 44 81 65 67 102 119 85 44 69 65 65 81 118 87 44 69 65 65 75 52 81 44 99 65 67 98 103 84 44 69 65 65 111 66 44 101 65 65 100 53 106 66 44 69 65 65 75 57 66 44 75 65 67 88 54 105 66 44 69 65 65 83 54 67 44 69 65 65 77 44 75 65 65 79 44 71 65 67 116 66 107 78 44 69 65 65 77 108 78 44 69 65 65 77 114 78 44 69 65 65 81 44 69 65 65 73 120 85 44 69 65 65 81 106 67 44 79 65 85 106 67 44 73 65 80 67 112 66 44 69 65 68 73 54 88 44 69 65 65 81 44 69 65 67 82 117 97 44 69 65 71 65 108 78 44 69 65 65 77 114 78 44 69 65 65 81 44 69 65 73 88 55 88 44 69 65 65 73 111 121 66 44 69 65 65 75 112 121 66 44 73 65 75 104 66 44 75 65 74 65 107 106 66 44 69 65 65 83 55 102 44 69 65 65 83 114 68 44 73 65 73 74 105 83 44 85 65 65 89 106 83 44 73 65 65 77 54 88 44 75 65 71 55 66 113 76 44 69 65 65 79 57 89 44 89 65 67 76 56 89 44 69 65 65 79 122 105 66 44 87 65 65 87 50 74 44 87 65 67 110 66 47 73 44 71 65 65 85 54 104 66 44 69 65 65 79 122 105 66 44 87 65 65 89 44 97 65 65 105 66 44 67 65 77 106 68 44 71 65 72 65 109 70 44 69 65 65 81 57 69 44 71 65 65 81 111 105 66 44 71 65 65 83 106 106 66 44 77 65 71 112 66 105 108 66 44 69 65 67 74 44 79 65 65 79 116 102 44 69 65 73 82 121 99 44 69 65 65 79 53 106 66 44 75 65 65 77 109 72 44 71 65 73 102 44 79 65 65 79 121 99 44 71 65 71 82 110 68 44 73 65 65 75 44 83 65 65 85 53 100 44 69 65 65 77 115 69 44 71 65 67 112 66 44 73 65 65 73 109 51 66 44 69 65 65 87 55 90 44 69 65 67 100 55 102 44 69 65 65 85 47 66 44 69 65 65 75 43 66 44 81 65 67 102 103 102 44 69 65 65 83 118 104 66 44 71 65 65 79 43 68 44 85 65 65 87 101 44 71 65 67 51 66 53 70 44 69 65 65 73 113 68 44 69 65 65 81 106 67 44 79 65 69 98 44 77 65 65 81 112 66 44 77 65 67 80 107 106 66 44 69 65 65 83 55 102 44 69 65 65 83 114 68 44 73 65 73 78 105 83 44 85 65 67 117 68 44 69 65 65 108 69 110 82 44 71 65 65 79 105 69 44 81 65 65 83 106 69 44 71 65 65 79 103 56 66 44 83 65 65 83 53 90 44 79 65 65 79 114 104 66 44 73 65 65 75 113 104 66 44 71 65 65 85 98 44 77 65 69 116 68 48 97 44 71 65 65 89 44 71 65 85 100 44 79 65 72 77 65 44 73 65 67 76 122 55 66 44 69 65 65 75 52 81 44 101 65 65 105 66 44 71 65 69 104 66 109 81 44 79 65 79 88 118 104 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 44 81 65 65 83 44 89 65 65 99 44 87 65 67 114 67 116 66 44 71 65 65 79 103 56 66 44 83 65 65 85 106 47 66 44 77 65 65 83 44 67 65 67 122 66 113 104 66 44 73 65 65 75 44 83 65 65 85 53 100 44 69 65 65 77 115 69 44 71 65 67 112 66 44 71 65 65 75 104 67 44 77 65 65 77 67 44 81 65 65 83 43 66 44 71 65 67 110 66 44 79 65 65 83 116 69 44 69 65 65 75 48 81 44 83 65 65 50 68 44 69 65 65 106 68 108 82 44 71 65 65 79 105 69 44 81 65 65 83 106 69 44 71 65 65 81 81 44 71 65 65 79 114 66 44 77 65 65 79 50 70 44 75 65 73 51 68 51 71 44 71 65 65 81 43 55 66 44 85 65 67 98 108 54 66 44 71 65 65 79 103 56 66 44 83 65 65 85 106 47 66 44 77 65 65 79 103 69 44 73 65 65 77 44 83 65 65 85 80 44 71 65 67 118 67 44 79 65 65 119 67 44 79 65 65 106 67 65 44 69 65 65 75 106 66 44 97 65 65 99 44 83 65 65 113 66 44 75 65 65 79 105 66 44 69 65 65 75 115 69 44 85 65 83 57 68 44 73 65 65 73 48 76 44 71 65 65 87 49 84 44 71 65 65 79 48 84 44 83 65 69 108 66 53 82 44 71 65 65 81 44 67 65 65 69 109 71 44 75 65 65 77 107 106 66 44 75 65 65 75 67 44 79 65 69 114 66 103 85 44 71 65 65 83 44 75 65 75 98 108 56 66 44 71 65 65 79 109 56 66 44 83 65 65 87 44 83 65 65 85 57 100 44 71 65 67 51 66 44 73 65 65 73 110 80 44 69 65 65 75 107 116 66 44 69 65 67 84 44 73 65 65 77 47 100 44 71 65 65 119 66 44 105 66 65 65 84 65 44 69 65 67 112 66 44 79 65 65 79 44 75 65 75 82 44 73 65 67 67 110 80 44 71 65 65 77 44 73 65 65 77 112 83 44 71 65 65 79 117 47 66 44 87 65 65 99 67 44 103 66 65 65 105 66 106 101 44 69 65 65 77 44 89 65 67 118 68 44 77 65 65 81 51 85 44 73 65 89 86 44 79 65 86 65 48 121 66 44 69 65 65 107 66 108 116 66 44 71 65 65 79 65 44 69 65 65 73 51 69 44 113 66 65 65 115 66 44 101 65 65 105 66 44 71 65 67 57 68 50 69 44 73 65 65 79 107 116 66 44 71 65 67 90 112 56 66 44 71 65 65 79 115 68 44 77 65 65 79 44 105 66 65 67 98 56 52 66 44 69 65 67 67 112 56 66 44 71 65 65 79 119 66 44 73 65 65 75 52 54 66 44 69 65 65 103 66 51 121 66 44 87 65 65 89 44 83 65 65 85 103 67 44 71 65 67 106 68 44 79 65 65 79 65 44 69 65 65 71 53 72 44 99 65 67 80 103 72 44 75 65 65 77 44 77 65 67 86 119 84 44 73 65 71 73 110 80 44 71 65 73 82 44 73 65 65 73 113 116 66 44 71 65 65 99 44 107 67 65 67 106 66 67 44 71 65 65 48 66 44 83 65 65 85 57 121 66 44 71 65 67 110 67 65 44 69 65 65 69 109 98 44 109 66 65 71 74 55 107 66 44 71 65 65 79 115 67 44 79 65 65 81 116 67 44 71 65 65 79 115 107 66 44 77 65 65 79 44 67 65 69 53 66 85 44 81 65 65 83 44 83 65 65 85 86 44 69 65 65 79 106 71 44 69 65 65 77 55 100 44 69 65 65 77 105 56 66 44 71 65 69 114 67 44 73 65 65 73 118 57 66 44 69 65 65 71 121 88 44 69 65 65 75 103 74 44 69 65 65 75 43 99 44 69 65 65 89 67 44 69 65 65 81 47 87 44 69 65 65 81 57 75 44 69 65 65 83 56 104 66 44 69 65 67 114 68 67 44 69 65 65 89 44 67 65 65 69 114 56 66 44 71 65 65 81 55 68 44 71 65 67 116 66 43 66 44 69 65 65 79 88 44 71 65 65 79 80 44 75 65 65 77 56 109 66 44 69 65 65 79 44 81 65 65 87 65 44 69 65 65 77 53 108 66 44 75 65 65 79 52 108 66 44 69 65 67 110 68 107 66 44 69 65 65 97 122 110 66 44 71 65 65 79 80 44 75 65 65 77 56 109 66 44 69 65 65 79 44 97 65 65 103 66 65 44 69 65 65 77 110 103 66 44 85 65 65 85 101 44 77 65 65 79 44 75 65 65 81 44 71 65 75 106 70 44 71 65 72 65 121 82 44 69 65 65 77 105 109 66 44 69 65 65 99 106 100 44 69 65 65 77 110 102 44 69 65 65 79 65 44 71 65 65 81 55 68 44 69 65 71 108 66 44 73 65 65 108 66 54 68 44 69 65 65 75 108 67 44 85 65 65 111 67 44 73 65 65 108 66 107 67 44 69 65 65 75 108 67 44 87 65 75 53 66 105 43 66 44 71 65 65 89 47 51 66 44 75 65 65 77 57 70 44 69 65 65 79 115 66 44 71 65 65 79 115 107 66 44 77 65 65 77 117 66 44 99 65 73 102 44 69 65 65 118 66 110 110 66 44 69 65 65 75 100 44 81 65 65 83 44 79 65 73 108 66 99 44 71 65 68 65 56 109 66 44 69 65 65 97 57 109 66 44 69 65 65 75 119 71 44 77 65 65 79 44 77 65 67 80 111 71 44 81 65 67 108 66 107 97 44 69 65 65 87 112 106 66 44 81 65 69 90 117 54 66 44 69 65 65 83 106 43 66 44 69 65 65 75 100 44 81 65 65 83 44 75 65 65 81 44 71 65 65 75 44 75 65 65 79 99 44 71 65 71 51 67 52 108 66 44 69 65 65 81 65 44 69 65 65 79 116 107 66 44 71 65 65 79 105 68 44 83 65 67 114 66 113 104 66 44 69 65 67 65 44 73 65 65 73 116 107 66 44 71 65 65 79 109 110 66 44 77 65 65 79 122 111 66 44 69 65 65 117 66 44 105 66 65 65 86 52 108 66 44 71 65 65 115 66 65 44 73 65 71 104 68 75 44 85 65 65 89 56 88 44 69 65 65 101 44 69 65 65 73 44 69 65 67 114 67 110 89 44 69 65 65 77 110 103 66 44 85 65 65 89 113 104 66 44 69 65 65 87 51 97 44 75 65 65 77 44 75 65 67 110 67 121 90 44 69 65 65 77 117 67 44 87 65 65 97 118 67 44 69 65 65 77 110 103 66 44 85 65 67 120 66 44 73 65 65 73 111 66 44 79 65 65 81 44 85 65 65 89 105 103 66 44 69 65 65 87 51 97 44 75 65 65 77 44 105 66 65 65 111 66 44 87 65 67 55 68 44 75 65 71 68 121 90 44 69 65 65 77 51 86 44 89 65 65 83 51 76 44 69 65 67 84 115 104 66 44 69 65 65 77 51 104 66 44 83 65 67 88 50 104 66 44 69 65 65 77 51 104 66 44 79 65 65 83 110 67 44 71 65 73 104 66 54 100 44 69 65 65 101 44 77 65 65 82 65 44 69 65 67 78 44 67 65 65 69 105 71 44 71 65 67 70 116 107 66 44 71 65 65 79 43 68 44 85 65 65 87 115 97 44 69 65 65 77 44 67 65 65 69 105 71 44 73 65 71 51 66 120 74 44 69 65 65 85 57 97 44 71 65 65 79 115 107 66 44 77 65 65 77 120 74 44 81 65 65 83 112 99 44 73 65 65 85 44 71 65 67 112 67 43 57 66 44 73 65 65 103 66 51 104 66 44 69 65 65 81 107 75 44 85 65 65 109 68 44 73 65 65 120 67 108 75 44 69 65 65 81 107 75 44 81 65 65 81 116 110 66 44 77 65 65 79 56 67 44 69 65 65 77 54 100 44 73 65 65 116 69 44 67 65 77 65 44 73 65 65 77 111 101 44 73 65 65 105 66 51 104 66 44 69 65 65 81 48 77 44 87 65 65 97 104 112 66 44 69 65 65 85 103 67 44 71 65 65 83 44 67 65 77 57 68 44 73 65 74 65 107 56 66 44 69 65 65 97 53 104 66 44 69 65 65 81 56 74 44 99 65 65 103 66 108 109 66 44 69 65 67 47 66 54 57 66 44 71 65 65 89 47 51 66 44 75 65 65 77 107 52 66 44 69 65 65 97 104 43 66 44 75 65 67 112 67 105 89 44 69 65 65 77 65 44 69 65 65 73 104 88 44 89 65 69 72 103 88 44 69 65 65 75 65 44 69 65 65 77 65 44 69 65 65 73 104 88 44 87 65 67 116 66 107 57 66 44 69 65 65 85 108 47 66 44 75 65 65 77 103 90 44 71 65 67 104 66 103 74 44 69 65 65 77 104 74 44 69 65 73 70 103 74 44 75 65 65 85 110 102 44 69 65 65 75 56 68 44 101 65 65 105 66 51 72 44 73 65 67 112 67 107 103 67 44 69 65 65 85 108 47 66 44 75 65 65 77 103 105 66 44 69 65 65 73 118 84 44 97 65 65 101 117 84 44 69 65 65 73 109 100 44 99 65 65 103 66 104 103 67 44 73 65 75 122 68 111 67 44 69 65 65 73 44 69 65 67 74 44 79 65 65 85 121 88 44 69 65 65 77 107 109 66 44 69 65 65 87 51 57 66 44 81 65 65 89 111 108 66 44 69 65 65 77 113 67 44 117 66 65 67 53 67 105 87 44 69 65 65 99 106 109 66 44 69 65 67 100 50 78 44 69 65 65 77 53 108 66 44 75 65 65 87 44 69 65 65 74 81 44 69 65 67 90 119 57 66 44 69 65 67 65 53 104 66 44 69 65 65 81 105 76 44 85 65 65 89 114 110 66 44 71 65 71 114 66 107 110 66 44 71 65 65 87 112 72 44 69 65 65 83 122 100 44 73 65 65 75 52 86 44 69 65 65 75 44 87 65 65 99 120 90 44 79 65 65 79 119 111 66 44 79 65 65 81 44 79 65 65 85 114 66 44 69 65 65 77 53 108 66 44 79 65 67 49 69 56 102 44 69 65 65 83 122 100 44 73 65 65 75 52 86 44 69 65 65 75 44 89 65 69 110 66 105 80 44 69 65 65 79 108 111 66 44 77 65 65 79 105 90 44 69 65 65 75 48 72 44 73 65 73 112 66 117 72 44 69 65 65 83 43 87 44 71 65 65 85 104 109 66 44 69 65 65 75 103 109 66 44 75 65 67 84 47 87 44 69 65 65 79 108 111 66 44 79 65 65 83 111 103 66 44 69 65 65 89 110 72 44 75 65 67 49 67 50 78 44 69 65 65 77 51 86 44 79 65 65 83 105 88 44 69 65 65 79 108 111 66 44 77 65 65 79 105 90 44 69 65 65 75 48 72 44 73 65 67 90 44 73 65 65 106 66 105 71 44 69 65 65 77 51 86 44 81 65 67 86 50 86 44 69 65 65 77 83 44 107 66 65 56 67 84 44 79 65 49 67 65 84 44 69 65 65 77 53 108 66 44 75 65 65 79 65 44 69 65 71 80 43 57 66 44 71 65 65 105 66 110 89 44 69 65 65 77 117 68 44 115 66 65 69 112 66 47 77 44 69 65 65 81 52 72 44 87 65 67 113 67 44 73 65 65 112 68 53 72 44 69 65 65 81 52 72 44 83 65 65 83 104 108 66 44 77 65 65 79 109 47 66 44 69 65 65 85 122 51 66 44 77 65 65 79 105 90 44 75 65 67 122 67 80 44 69 65 65 89 116 100 44 73 65 73 80 109 56 66 44 71 65 65 85 118 43 66 44 69 65 65 89 111 67 44 69 65 65 77 57 66 44 77 65 65 97 70 44 69 65 65 85 103 67 44 77 65 71 118 68 109 102 44 69 65 65 77 110 102 44 69 65 65 77 109 56 66 44 77 65 71 88 110 56 66 44 69 65 65 77 109 56 66 44 71 65 65 87 44 77 65 73 108 66 51 56 66 44 71 65 65 79 115 107 66 44 77 65 65 77 117 66 44 85 65 65 89 110 110 66 44 69 65 69 112 66 52 108 66 44 69 65 65 77 113 67 44 119 66 65 67 86 105 87 44 69 65 65 89 116 119 66 44 105 66 65 65 107 66 53 78 44 69 65 65 77 56 57 66 44 73 65 71 114 67 104 56 66 44 69 65 65 77 57 66 44 75 65 69 68 52 108 66 44 69 65 65 77 113 67 44 119 66 65 67 86 105 87 44 69 65 65 89 106 103 66 44 111 66 65 65 113 66 106 101 44 69 65 65 77 56 57 66 44 73 65 71 120 67 120 56 66 44 71 65 65 79 115 107 66 44 77 65 65 77 117 66 44 101 65 65 89 55 105 66 44 69 65 69 112 66 50 99 44 73 65 67 74 110 102 44 69 65 65 77 109 56 66 44 71 65 65 87 104 100 44 73 65 77 100 50 69 44 69 65 65 77 51 86 44 83 65 75 100 119 98 44 83 65 65 85 44 83 65 65 85 122 114 66 44 69 65 65 77 56 66 44 69 65 65 77 56 106 66 44 71 65 67 47 66 44 73 65 65 73 53 97 44 69 65 65 73 49 74 44 71 65 65 79 115 67 44 79 65 67 100 44 73 65 65 73 116 67 44 71 65 65 79 109 110 66 44 77 65 67 88 55 67 44 69 65 67 65 44 67 65 67 67 53 108 66 44 75 65 65 77 65 44 69 65 67 78 121 112 66 44 97 65 65 97 44 73 65 73 102 110 111 66 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 65 83 116 98 44 69 65 65 71 44 75 65 65 77 108 74 44 77 65 75 106 67 82 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 69 106 66 48 105 66 44 81 65 65 83 44 83 65 65 85 116 109 66 44 69 65 65 77 50 102 44 71 65 67 120 66 44 79 65 65 79 116 104 66 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 116 66 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 65 83 116 109 66 44 69 65 65 77 50 102 44 69 65 65 77 116 104 66 44 83 65 71 112 67 103 103 67 44 101 65 65 103 66 44 83 65 65 85 114 43 66 44 69 65 65 77 50 102 44 71 65 67 47 66 44 73 65 65 73 55 100 44 69 65 65 79 122 68 44 75 65 65 77 44 71 65 67 106 66 44 71 65 65 75 121 68 44 69 65 67 74 44 79 65 65 79 82 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 65 83 116 109 66 44 69 65 65 77 50 102 44 69 65 65 77 55 100 44 71 65 65 77 44 77 65 77 108 68 44 73 65 67 67 119 56 66 44 71 65 65 87 44 81 65 67 88 67 44 71 65 65 81 44 83 65 67 82 67 44 71 65 65 107 66 44 119 67 65 67 108 66 67 44 71 65 65 101 44 113 67 65 69 104 66 44 83 65 65 83 67 44 71 65 65 97 49 73 44 69 65 65 81 114 50 66 44 69 65 65 75 103 47 66 44 69 65 65 97 112 109 66 44 71 65 67 47 67 44 73 65 65 73 120 87 44 69 65 69 74 44 71 65 65 75 113 67 44 77 65 65 77 67 44 81 65 65 83 49 69 44 71 65 71 110 66 50 66 44 71 65 65 79 115 66 44 75 65 65 77 106 68 44 69 65 65 75 44 83 65 65 85 97 44 69 65 65 71 50 89 44 71 65 67 122 66 119 108 66 44 71 65 65 101 76 44 71 65 65 83 120 52 66 44 75 65 65 77 107 119 66 44 71 65 71 108 67 122 100 44 69 65 65 75 121 100 44 69 65 65 81 55 99 44 71 65 75 98 117 108 66 44 71 65 67 67 49 73 44 69 65 65 83 44 75 65 65 113 66 44 105 66 65 65 78 55 99 44 71 65 65 117 66 44 77 65 65 76 65 44 69 65 65 89 51 89 44 69 65 65 73 44 73 65 65 79 44 73 65 67 106 69 50 89 44 69 65 67 65 119 108 66 44 69 65 67 65 112 109 66 44 85 65 75 71 44 71 65 65 77 111 109 66 44 71 65 65 105 67 44 87 65 65 108 66 120 57 66 44 69 65 65 81 120 66 44 71 65 85 110 67 52 89 44 69 65 65 75 121 100 44 69 65 65 81 114 50 66 44 81 65 80 98 44 73 65 65 77 111 67 44 75 65 65 81 112 67 44 69 65 67 98 43 43 66 44 71 65 65 97 49 73 44 69 65 65 83 44 73 65 65 77 106 48 66 44 69 65 65 79 44 73 65 65 75 112 67 44 69 65 65 75 111 67 44 71 65 65 81 52 56 66 44 69 65 65 97 112 109 66 44 71 65 89 114 69 106 88 44 71 65 65 79 115 57 66 44 77 65 65 81 44 83 65 65 85 55 51 66 44 69 65 65 71 52 51 66 44 71 65 67 51 66 44 73 65 65 73 51 73 44 69 65 67 72 54 73 44 69 65 65 73 44 71 65 67 74 116 109 66 44 69 65 65 77 44 83 65 65 85 55 76 44 69 65 65 75 111 121 66 44 71 65 71 112 66 44 73 65 65 73 49 52 66 44 69 65 65 81 49 71 44 69 65 65 89 111 47 66 44 71 65 67 118 66 65 44 73 65 67 65 65 44 69 65 69 68 68 44 69 65 65 71 65 44 69 65 65 69 106 57 66 44 81 65 65 87 109 57 66 44 109 66 65 65 111 66 114 121 66 44 71 65 65 81 44 73 65 67 51 67 113 121 66 44 109 66 65 65 54 66 44 77 65 65 84 51 52 66 44 69 65 65 103 66 44 71 65 65 75 65 44 73 65 71 53 67 44 71 65 65 85 44 77 65 65 76 87 44 69 65 67 74 44 77 65 65 79 44 71 65 73 82 44 71 65 65 75 51 67 44 77 65 65 77 67 44 81 65 65 83 48 67 44 73 65 65 83 65 44 69 65 65 69 55 69 44 83 65 65 87 90 44 71 65 65 79 54 67 44 99 65 65 101 52 67 44 71 65 71 47 68 122 70 44 71 65 65 79 115 66 44 75 65 65 77 109 69 44 69 65 65 71 44 87 65 67 102 119 82 44 69 65 65 75 108 97 44 75 65 65 75 48 68 44 75 65 65 77 49 68 44 75 65 65 75 43 72 44 99 65 79 116 66 44 73 65 65 77 52 118 66 44 75 65 65 85 106 118 66 44 69 65 67 102 50 51 66 44 71 65 65 97 49 73 44 69 65 65 81 106 118 66 44 69 65 65 71 105 118 66 44 71 65 65 85 50 73 44 69 65 65 97 112 109 66 44 71 65 75 106 68 44 79 65 65 79 115 109 66 44 69 65 65 69 49 121 66 44 75 65 65 77 44 77 65 71 104 66 55 75 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 111 55 66 44 85 65 65 87 44 87 65 67 86 44 79 65 65 79 49 57 66 44 71 65 65 79 115 57 66 44 77 65 65 79 118 103 67 44 75 65 65 75 52 103 67 44 109 66 65 69 51 66 65 44 101 65 65 103 66 44 87 65 67 102 44 79 65 65 79 53 103 67 44 75 65 65 75 121 69 44 73 65 65 75 44 87 65 71 104 66 44 73 65 65 73 56 76 44 69 65 65 87 116 78 44 71 65 65 79 115 101 44 75 65 65 77 118 104 66 44 75 65 65 77 44 89 65 67 108 67 44 79 65 65 79 117 81 44 69 65 65 87 116 78 44 71 65 65 79 43 68 44 85 65 65 87 117 74 44 71 65 65 97 118 81 44 79 65 67 57 67 54 80 44 79 65 65 81 44 87 65 67 88 44 73 65 65 73 108 79 44 69 65 65 79 51 66 44 75 65 65 75 50 66 44 75 65 71 104 66 44 79 65 65 79 51 66 44 75 65 65 75 48 68 44 79 65 65 83 84 44 71 65 65 81 106 68 44 77 65 65 79 50 89 44 71 65 65 73 44 99 65 67 118 67 121 110 66 44 71 65 65 97 51 52 66 44 75 65 65 77 122 72 44 75 65 65 75 119 68 44 89 65 65 101 50 56 66 44 71 65 65 103 66 49 52 66 44 75 65 65 77 57 70 44 75 65 67 51 68 51 66 44 75 65 65 75 109 85 44 85 65 65 89 48 81 44 71 65 65 101 112 100 44 75 65 65 77 57 70 44 77 65 67 116 67 56 67 44 73 65 65 75 44 83 65 65 85 50 68 44 69 65 65 73 51 69 44 71 65 67 116 66 44 73 65 65 73 114 66 44 69 65 65 77 97 44 71 65 65 81 106 68 44 77 65 65 79 111 67 44 77 65 69 122 66 44 79 65 65 89 44 77 65 65 80 65 44 69 65 67 71 44 75 65 71 72 50 68 44 77 65 65 77 67 44 81 65 65 83 53 68 44 71 65 67 90 97 44 71 65 65 79 119 66 44 73 65 65 75 114 67 44 69 65 65 75 44 83 65 65 85 65 44 71 65 67 106 67 44 77 65 65 79 44 67 65 65 69 115 66 44 75 65 65 77 68 44 69 65 65 75 67 44 75 65 65 77 113 69 44 77 65 65 79 51 70 44 69 65 65 73 105 69 44 81 65 65 83 54 53 66 44 71 65 65 79 44 87 65 73 104 68 44 67 65 65 69 120 56 66 44 75 65 65 77 68 44 69 65 65 75 67 44 75 65 65 77 113 69 44 77 65 65 79 51 70 44 69 65 65 73 105 69 44 81 65 65 83 54 53 66 44 71 65 65 79 44 87 65 67 108 68 108 56 66 44 83 65 75 78 44 73 65 67 67 54 56 66 44 71 65 65 77 44 79 65 67 78 67 44 71 65 65 81 44 79 65 67 82 67 44 71 65 65 97 44 103 66 65 67 98 67 44 71 65 65 87 44 54 66 65 73 88 67 44 71 65 65 97 44 105 66 65 67 98 67 44 71 65 65 89 44 81 65 87 90 104 72 44 71 65 65 97 44 71 65 79 98 105 72 44 71 65 65 97 44 71 65 71 98 67 44 71 65 65 87 44 75 65 65 75 49 103 67 44 79 65 65 81 44 75 65 71 120 66 50 103 67 44 71 65 65 101 122 104 67 44 69 65 65 83 48 67 44 99 65 65 101 44 75 65 75 120 67 44 83 65 65 83 103 47 66 44 71 65 65 54 66 67 44 71 65 71 114 67 44 79 65 65 79 44 83 65 65 85 67 44 69 65 65 111 66 53 107 66 44 71 65 69 68 44 105 66 65 65 118 66 52 107 66 44 73 65 67 88 53 107 66 44 69 65 65 79 52 107 66 44 69 65 67 80 65 44 69 65 65 113 66 44 75 65 71 116 66 44 73 65 65 73 67 44 69 65 67 72 116 47 66 44 69 65 65 73 44 69 65 67 74 117 47 66 44 69 65 65 89 70 44 69 65 65 109 66 55 57 66 44 99 65 65 99 115 74 44 77 65 65 79 50 78 44 73 65 65 109 66 44 71 65 69 120 69 44 71 65 65 75 118 90 44 69 65 65 89 117 98 44 71 65 71 104 66 44 77 65 65 85 54 107 66 44 69 65 65 87 67 44 69 65 65 87 118 47 66 44 75 65 71 82 44 77 65 65 108 66 115 47 66 44 69 65 65 85 44 73 65 67 100 65 44 69 65 65 87 65 44 69 65 65 83 110 104 67 44 77 65 65 79 44 73 65 65 79 44 75 65 67 104 67 105 104 67 44 69 65 65 87 69 44 71 65 65 97 70 44 69 65 65 87 69 44 73 65 65 99 44 73 65 65 75 106 102 44 81 65 65 83 53 70 44 75 65 73 47 68 50 107 66 44 69 65 65 87 69 44 71 65 65 97 70 44 69 65 65 87 69 44 73 65 65 99 44 73 65 65 75 55 103 67 44 75 65 65 77 103 99 44 73 65 81 110 69 44 83 65 65 83 43 107 66 44 71 65 65 43 66 74 44 69 65 65 87 47 55 66 44 69 65 65 83 105 49 66 44 69 65 65 105 66 109 72 44 71 65 69 53 69 44 73 65 65 73 67 44 69 65 65 89 44 71 65 67 102 67 44 69 65 65 113 66 80 44 73 65 65 99 74 44 71 65 69 112 67 44 83 65 65 83 89 44 69 65 65 83 78 44 71 65 67 106 66 44 73 65 65 73 114 116 66 44 69 65 99 74 44 79 65 98 65 121 116 66 44 69 65 65 87 74 44 73 65 65 97 44 69 65 67 120 66 120 43 66 44 71 65 65 79 115 66 44 75 65 65 77 103 57 66 44 69 65 65 87 69 44 73 65 65 99 44 71 65 65 73 44 83 65 65 85 57 108 66 44 69 65 65 71 113 109 66 44 71 65 67 116 68 44 73 65 65 73 67 44 69 65 65 115 66 68 44 69 65 65 111 66 120 56 66 44 69 65 65 83 105 49 66 44 69 65 65 105 66 109 72 44 71 65 67 120 69 44 77 65 65 111 67 44 105 66 65 65 120 66 75 44 71 65 67 86 72 44 71 65 65 113 66 68 44 69 65 65 87 73 44 71 65 75 116 66 72 44 73 65 67 68 49 116 66 44 69 65 65 87 54 116 66 44 81 65 68 102 44 71 65 72 78 122 56 66 44 69 65 65 81 107 56 66 44 85 65 65 85 108 102 44 81 65 65 83 121 102 44 71 65 67 51 66 70 44 69 65 65 83 69 44 73 65 67 70 44 75 65 75 70 55 116 66 44 69 65 71 82 44 79 65 65 79 50 116 66 44 69 65 65 83 118 56 66 44 69 65 65 81 107 56 66 44 85 65 65 87 44 77 65 65 85 71 44 69 65 65 87 44 77 65 65 83 69 44 69 65 65 83 44 75 65 77 51 69 44 83 65 65 83 71 44 71 65 65 89 116 56 66 44 69 65 65 81 104 69 44 71 65 67 53 66 44 73 65 65 73 121 77 44 69 65 65 75 120 73 44 69 65 67 82 115 56 66 44 69 65 65 99 108 47 66 44 71 65 65 79 109 47 66 44 97 65 65 97 68 44 97 65 65 101 44 71 65 69 108 68 44 73 65 65 77 57 122 66 44 75 65 65 79 122 77 44 79 65 67 81 113 69 44 73 65 65 102 114 69 44 69 65 65 75 121 77 44 77 65 67 80 56 122 66 44 69 65 65 97 57 122 66 44 71 65 65 81 122 73 44 69 65 65 87 67 44 73 65 65 85 65 44 69 65 65 79 44 75 65 65 85 119 73 44 71 65 65 81 122 77 44 69 65 65 75 121 77 44 73 65 79 53 69 44 79 65 74 75 120 73 44 71 65 67 74 53 67 44 71 65 65 79 115 67 44 81 65 65 81 44 69 65 65 77 75 44 69 65 65 81 67 44 71 65 71 118 66 68 44 69 65 47 69 82 121 55 66 44 71 65 65 97 114 116 66 44 75 65 65 79 80 44 71 65 65 83 79 44 75 65 103 80 55 66 47 81 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 71 100 56 56 66 44 79 65 65 81 44 69 65 71 82 67 44 97 65 65 99 44 71 65 67 100 67 44 75 65 65 77 44 71 65 69 78 72 44 97 65 65 99 44 67 65 67 98 73 44 73 65 65 75 47 117 66 44 71 65 65 83 79 44 75 65 67 100 114 83 44 75 65 65 77 44 77 65 67 78 56 103 67 44 81 65 120 82 103 66 44 52 68 65 119 82 81 104 55 66 44 75 65 65 77 103 77 44 71 65 65 83 105 118 66 44 85 65 67 118 67 108 106 67 44 81 65 65 81 44 69 65 67 82 109 106 67 44 97 65 65 97 44 69 65 67 98 67 44 79 65 65 79 44 69 65 67 80 67 44 89 65 65 97 44 109 68 65 99 98 67 44 81 65 65 83 44 67 65 67 82 57 72 44 73 65 65 75 111 71 44 71 65 67 76 55 43 66 44 75 65 65 77 44 97 65 67 78 113 115 66 44 75 65 65 77 44 89 65 67 78 122 99 44 73 65 65 75 44 52 66 65 67 76 52 119 66 44 75 65 65 77 44 113 67 65 71 80 116 112 66 44 83 65 65 85 44 67 65 67 84 116 72 44 73 65 65 75 44 85 65 67 76 121 99 44 75 65 65 77 44 83 65 67 78 109 85 44 75 65 65 77 44 89 65 71 80 67 44 101 65 65 103 66 44 67 65 67 102 55 119 66 44 73 65 65 75 44 99 65 67 76 53 80 44 75 65 65 77 44 101 65 67 78 119 103 67 44 75 65 65 77 44 103 66 65 75 80 69 44 87 65 65 89 44 67 65 71 88 67 44 83 65 65 85 106 51 66 44 79 65 71 86 107 51 66 44 97 65 65 97 44 69 65 71 98 67 44 89 65 65 97 116 104 66 44 75 65 65 75 67 44 77 65 71 108 66 115 104 66 44 87 65 65 89 112 103 67 44 71 65 65 79 109 56 66 44 85 65 79 112 66 43 67 44 89 65 65 97 44 67 65 67 90 75 44 75 65 65 75 44 69 65 67 76 114 47 66 44 83 65 65 83 44 73 65 79 88 109 103 67 44 85 65 65 87 44 83 65 65 85 49 57 66 44 69 65 65 81 50 57 66 44 71 65 67 53 66 44 79 65 65 79 65 44 69 65 71 78 114 66 44 71 65 65 89 65 44 71 65 65 89 116 56 66 44 69 65 65 81 51 67 44 71 65 65 79 109 47 66 44 99 65 65 103 66 109 66 44 71 65 71 118 68 114 66 44 71 65 65 89 106 47 66 44 71 65 65 79 109 47 66 44 97 65 65 99 120 56 66 44 73 65 71 110 67 52 57 66 44 99 65 65 101 108 67 44 71 65 65 54 66 112 72 44 73 65 67 53 67 117 74 44 99 65 65 101 110 67 44 71 65 65 54 66 72 44 73 65 71 53 67 117 67 44 75 65 65 77 44 83 65 65 85 108 66 44 69 65 65 75 104 57 66 44 71 65 71 65 44 105 66 65 65 82 103 57 66 44 73 65 67 88 104 57 66 44 69 65 65 85 103 57 66 44 69 65 67 86 65 44 79 65 65 77 118 56 66 44 71 65 73 80 84 44 69 65 65 85 65 44 71 65 65 87 44 71 65 69 114 66 44 73 65 65 73 109 43 66 44 69 65 71 72 67 44 69 65 71 65 67 44 69 65 67 65 67 44 69 65 71 65 67 44 69 65 71 65 67 44 69 65 71 65 114 107 66 44 69 65 71 65 115 107 66 44 69 65 71 65 57 104 67 44 69 65 71 65 43 104 67 44 69 65 71 65 49 68 44 69 65 65 73 118 57 66 44 71 65 65 79 113 103 67 44 85 65 65 87 44 71 65 65 73 57 57 66 44 71 65 71 49 66 50 43 66 44 69 65 65 107 66 51 68 44 69 65 65 69 114 57 66 44 83 65 65 87 113 57 66 44 69 65 71 47 66 52 68 44 69 65 65 113 66 53 68 44 69 65 65 69 114 57 66 44 85 65 67 112 66 103 104 67 44 69 65 65 103 66 53 105 67 44 85 65 65 89 52 105 67 44 69 65 65 103 66 116 103 67 44 81 65 67 57 67 90 44 71 65 65 81 107 104 67 44 71 65 67 82 108 104 67 44 71 65 65 79 115 107 66 44 77 65 71 82 118 75 44 69 65 65 87 47 90 44 71 65 65 79 48 90 44 87 65 67 108 66 48 110 66 44 69 65 65 109 66 112 104 67 44 71 65 65 79 119 89 44 85 65 65 87 44 101 65 71 114 67 54 111 66 44 69 65 65 97 57 68 44 69 65 65 69 56 68 44 89 65 65 99 44 71 65 71 55 66 67 44 69 65 65 105 66 44 71 65 67 106 66 67 44 69 65 65 115 66 44 71 65 71 116 66 67 44 69 65 65 87 44 87 65 71 88 55 67 44 69 65 65 81 44 67 65 67 80 55 104 66 44 87 65 65 89 44 69 65 71 90 50 107 66 44 107 66 65 65 109 66 44 83 65 65 85 114 50 66 44 71 65 67 53 66 44 73 65 65 73 112 66 44 69 65 67 74 44 71 65 65 75 48 83 44 69 65 65 89 44 67 65 67 104 66 44 73 65 65 77 109 107 66 44 69 65 65 107 66 44 67 65 67 118 66 65 44 69 65 65 107 66 44 71 65 67 108 66 44 77 65 65 85 55 50 66 44 69 65 65 81 43 122 66 44 71 65 65 83 51 122 66 44 75 65 65 77 119 50 66 44 71 65 67 104 67 67 44 69 65 65 105 66 55 50 66 44 69 65 65 79 44 71 65 65 73 116 74 44 99 65 65 103 66 44 77 65 67 122 67 109 103 67 44 69 65 65 105 66 55 50 66 44 69 65 65 79 44 71 65 65 73 116 74 44 99 65 65 103 66 44 77 65 65 83 44 73 65 67 114 68 106 68 44 79 65 65 81 117 77 44 69 65 65 79 44 73 65 71 112 66 65 44 69 65 65 81 54 50 66 44 69 65 65 105 66 122 49 66 44 69 65 65 73 49 75 44 99 65 65 103 66 44 75 65 69 57 67 44 79 65 65 103 66 44 77 65 65 84 115 74 44 69 65 65 103 66 44 75 65 65 79 65 44 69 65 65 77 97 44 75 65 65 77 44 79 65 73 51 67 54 50 66 44 115 66 65 65 117 66 44 87 65 67 116 66 44 79 65 65 79 104 108 66 44 69 65 65 89 107 107 66 44 69 65 65 119 66 44 77 65 73 53 67 101 44 105 66 65 65 107 66 44 83 65 65 85 108 104 67 44 69 65 65 77 113 69 44 71 65 77 106 67 44 79 65 76 107 66 44 77 65 65 98 52 88 44 73 65 67 74 106 99 44 69 65 65 79 56 103 67 44 69 65 65 113 66 57 103 67 44 69 65 65 75 67 44 101 65 67 104 67 54 103 67 44 69 65 65 113 66 57 103 67 44 69 65 65 75 67 44 103 66 65 65 109 66 68 44 69 65 67 57 67 54 103 67 44 69 65 65 103 66 55 103 67 44 71 65 65 83 113 69 44 71 65 69 110 66 47 72 44 77 65 73 82 54 107 67 44 105 66 65 65 107 66 44 83 65 65 85 108 106 67 44 71 65 73 51 66 44 79 65 72 107 66 44 77 65 65 98 103 101 44 73 65 67 74 54 103 66 44 69 65 65 69 115 69 44 83 65 65 87 110 106 67 44 71 65 69 80 51 66 44 77 65 73 82 115 107 67 44 87 65 65 89 44 83 65 65 85 55 47 66 44 71 65 67 114 66 44 73 65 65 73 122 67 44 69 65 67 74 44 71 65 65 75 121 67 44 69 65 67 74 44 71 65 65 75 107 98 44 69 65 71 74 105 105 66 44 69 65 65 77 55 107 66 44 79 65 65 81 116 89 44 69 65 65 75 109 57 66 44 69 65 65 77 109 68 44 99 65 73 122 66 44 73 65 65 77 47 105 67 44 75 65 65 81 121 67 44 69 65 67 98 54 47 66 44 69 65 65 89 116 105 67 44 71 65 65 83 44 67 65 65 69 115 105 67 44 69 65 65 89 116 105 67 44 71 65 65 81 121 67 44 69 65 65 75 122 67 44 73 65 73 110 68 44 79 65 65 79 104 67 44 77 65 73 82 103 108 67 44 77 65 65 79 44 83 65 65 85 67 44 71 65 67 104 66 44 73 65 65 73 67 44 69 65 65 89 68 44 71 65 65 99 82 44 69 65 75 57 66 44 79 65 74 75 100 44 71 65 67 74 65 44 69 65 65 85 113 66 44 77 65 65 79 69 44 71 65 69 108 66 112 55 66 44 69 65 65 77 44 69 65 65 71 111 55 66 44 71 65 67 70 108 108 67 44 79 65 111 66 86 44 71 65 102 65 103 100 44 69 65 65 83 49 66 44 81 65 65 83 115 109 66 44 71 65 75 108 66 112 66 44 69 65 65 69 103 67 44 77 65 65 85 65 44 71 65 65 79 104 67 44 69 65 65 69 103 67 44 75 65 65 79 47 117 66 44 71 65 65 83 79 44 77 65 65 83 44 73 65 67 53 67 51 78 44 81 65 65 83 54 54 66 44 71 65 65 87 122 116 66 44 71 65 65 83 105 118 66 44 83 65 65 87 44 77 65 71 49 67 108 67 44 69 65 65 69 55 43 66 44 75 65 65 79 54 68 44 69 65 65 81 54 86 44 81 65 65 85 55 86 44 69 65 65 81 55 68 44 77 65 65 81 54 43 66 44 69 65 65 69 110 108 66 44 81 65 65 85 109 108 66 44 69 65 65 69 55 43 66 44 75 65 71 122 68 54 43 66 44 69 65 65 69 107 66 44 87 65 65 99 108 66 44 69 65 65 69 105 66 44 85 65 65 89 44 75 65 65 77 57 57 66 44 99 65 65 99 115 74 44 77 65 65 79 50 78 44 73 65 65 109 66 44 67 65 65 69 44 73 65 71 120 68 44 77 65 65 106 66 52 108 66 44 69 65 65 69 50 69 44 89 65 65 115 66 44 67 65 67 53 66 110 66 44 69 65 65 89 112 107 67 44 69 65 65 83 48 67 44 99 65 65 101 44 75 65 75 112 67 44 73 65 67 67 48 104 67 44 69 65 65 85 104 119 66 44 75 65 65 79 119 115 66 44 69 65 65 69 103 67 44 73 65 73 110 66 119 66 44 69 65 65 85 104 119 66 44 75 65 65 79 103 119 66 44 69 65 65 85 104 119 66 44 75 65 67 51 66 119 115 66 44 69 65 65 69 50 69 44 89 65 65 99 57 68 44 71 65 65 97 113 66 44 83 65 65 87 44 75 65 65 79 114 66 44 71 65 65 97 43 68 44 77 65 67 51 68 112 66 44 69 65 65 85 116 66 44 83 65 65 87 44 75 65 65 79 115 66 44 69 65 65 85 111 66 44 75 65 67 116 67 44 77 65 65 81 122 52 66 44 71 65 73 84 54 122 66 44 69 65 65 69 50 69 44 97 65 65 99 44 71 65 97 108 66 44 71 65 82 75 51 69 44 69 65 65 69 108 102 44 77 65 65 81 107 102 44 69 65 65 69 109 67 44 97 65 65 105 67 44 105 66 65 65 88 110 67 44 69 65 65 69 108 102 44 79 65 67 120 67 107 102 44 69 65 65 69 108 102 44 75 65 65 79 114 101 44 71 65 65 79 115 57 66 44 77 65 65 79 67 44 69 65 65 69 108 102 44 75 65 65 77 107 102 44 69 65 65 69 70 44 99 65 73 108 67 113 66 44 71 65 65 43 66 122 72 44 71 65 65 89 115 71 44 69 65 65 71 104 55 66 44 69 65 65 83 111 56 66 44 71 65 71 108 68 106 105 66 44 69 65 67 74 44 79 65 65 79 105 105 66 44 69 65 56 69 82 44 73 65 65 77 122 47 66 44 75 65 122 69 78 56 104 67 44 69 65 65 99 104 104 67 44 71 65 65 79 115 107 66 44 79 65 65 83 105 90 44 69 65 65 69 104 104 67 44 83 65 71 81 44 71 65 65 112 66 121 68 44 71 65 65 79 111 47 66 44 85 65 67 49 66 112 47 66 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 65 83 44 97 65 73 118 66 117 89 44 69 65 65 69 55 43 66 44 75 65 65 79 54 43 66 44 69 65 65 69 55 43 66 44 75 65 65 75 105 102 44 99 65 71 104 66 52 102 44 69 65 65 69 54 69 44 89 65 65 99 112 69 44 71 65 65 87 120 53 66 44 75 65 65 77 43 52 66 44 69 65 65 69 55 43 66 44 77 65 75 110 67 105 105 67 44 69 65 65 87 112 68 44 69 65 65 69 103 67 44 73 65 65 73 110 56 66 44 81 65 65 83 121 54 66 44 71 65 65 79 44 73 65 71 51 66 78 44 69 65 65 69 54 69 44 87 65 119 66 73 55 69 44 69 65 65 69 108 102 44 77 65 65 81 107 102 44 69 65 65 69 109 67 44 97 65 67 111 68 44 75 65 65 122 69 110 67 44 69 65 65 69 113 67 44 97 65 65 101 44 73 65 65 75 104 105 67 44 81 65 65 83 44 117 67 65 67 106 67 50 47 66 44 69 65 65 69 108 102 44 75 65 65 79 107 102 44 69 65 65 69 108 102 44 75 65 65 75 106 98 44 81 65 65 83 119 54 66 44 71 65 65 75 44 79 65 118 66 57 66 113 68 44 69 65 65 87 49 68 44 69 65 65 69 103 67 44 73 65 65 73 108 105 67 44 77 65 65 79 115 106 67 44 69 65 65 83 114 103 67 44 81 65 71 53 66 105 57 66 44 69 65 65 69 108 102 44 79 65 65 85 107 102 44 69 65 65 69 109 67 44 97 65 65 105 67 44 105 66 65 65 88 110 67 44 69 65 65 69 108 102 44 81 65 67 49 67 115 105 66 44 73 65 65 99 122 69 44 71 65 65 79 49 51 66 44 75 65 65 77 109 56 66 44 71 65 65 97 44 73 65 65 77 44 75 65 65 81 112 68 44 69 65 65 69 108 102 44 89 65 71 106 68 107 102 44 69 65 65 69 108 102 44 79 65 73 79 44 73 65 65 90 107 102 44 69 65 65 69 112 121 66 44 81 65 67 78 119 49 66 44 69 65 65 87 65 44 69 65 65 83 118 57 66 44 81 65 65 83 48 54 66 44 71 65 65 89 44 77 65 67 122 67 109 68 44 71 65 65 97 47 69 44 71 65 65 79 49 51 66 44 75 65 65 77 109 56 66 44 71 65 65 97 44 73 65 65 77 44 75 65 65 81 44 75 65 65 83 47 104 67 44 71 65 65 77 109 71 44 79 65 67 110 69 107 56 66 44 71 65 73 70 49 68 44 69 65 65 69 103 67 44 73 65 65 77 111 66 44 69 65 65 87 77 44 71 65 83 102 49 68 44 69 65 65 69 56 69 44 97 65 67 68 114 105 67 44 71 65 65 79 113 47 66 44 97 65 65 99 115 66 44 73 65 67 122 66 104 67 44 69 65 65 77 103 68 44 105 66 65 65 107 66 44 111 66 65 65 113 66 51 104 67 44 71 65 65 79 113 47 66 44 97 65 65 99 115 66 44 73 65 69 57 68 51 103 67 44 71 65 65 79 115 47 66 44 75 65 65 77 113 66 44 73 65 67 106 66 104 67 44 69 65 65 77 103 68 44 105 66 65 65 107 66 44 103 66 65 65 105 66 51 104 67 44 71 65 65 79 115 47 66 44 75 65 65 77 113 66 44 77 65 75 110 68 112 68 44 69 65 65 69 108 102 44 77 65 65 81 107 102 44 69 65 65 69 54 69 44 97 65 65 103 67 44 73 65 65 108 66 55 69 44 69 65 65 69 113 67 44 97 65 65 121 66 114 57 66 44 69 65 65 81 113 57 66 44 99 65 67 106 69 106 66 44 69 65 65 77 103 68 44 105 66 65 65 107 66 44 101 65 65 103 66 112 69 44 69 65 65 69 113 67 44 97 65 73 51 67 106 66 44 69 65 65 77 103 68 44 105 66 65 67 76 44 83 65 67 65 112 69 44 69 65 65 69 107 66 44 85 65 65 87 44 73 65 65 79 108 66 44 69 65 65 69 115 67 44 81 65 65 83 116 67 44 69 65 65 69 107 66 44 85 65 65 87 44 73 65 67 51 67 108 66 44 69 65 65 69 115 67 44 81 65 65 83 116 67 44 69 65 65 69 107 66 44 85 65 65 87 44 75 65 67 65 44 77 65 65 114 66 108 66 44 69 65 65 69 107 66 44 85 65 65 87 44 71 65 65 99 44 75 65 65 79 78 44 71 65 65 87 44 87 65 65 97 44 73 65 67 55 68 90 44 69 65 65 69 115 67 44 81 65 65 83 44 77 65 73 70 116 67 44 69 65 65 69 43 69 44 81 65 67 90 51 68 44 69 65 65 77 103 68 44 105 66 65 65 107 66 122 105 67 44 69 65 65 71 113 43 66 44 69 65 65 69 43 69 44 81 65 65 83 112 106 67 44 73 65 73 118 67 44 71 65 65 75 113 43 66 44 69 65 65 69 103 70 44 99 65 67 43 67 44 73 65 65 110 68 104 70 44 69 65 65 69 103 70 44 87 65 65 87 47 107 67 44 75 65 65 77 48 106 67 44 69 65 65 105 66 118 67 44 69 65 65 79 112 66 44 73 65 65 105 66 55 103 66 44 71 65 71 57 68 44 79 65 65 79 105 105 66 44 69 65 65 77 111 68 44 81 65 101 100 44 71 65 88 65 80 44 69 65 65 87 44 81 65 71 88 74 44 69 65 65 105 66 110 113 66 44 73 65 65 75 115 109 66 44 69 65 65 69 51 70 44 85 65 67 120 66 43 71 44 69 65 65 77 57 51 66 44 75 65 65 77 48 50 66 44 69 65 65 69 105 70 44 83 65 67 100 55 68 44 69 65 65 77 114 109 66 44 75 65 65 77 105 108 66 44 69 65 65 69 106 54 66 44 79 65 71 100 111 57 66 44 69 65 65 89 104 67 44 71 65 65 43 66 82 44 71 65 65 89 88 44 69 65 65 71 104 55 66 44 69 65 65 83 111 56 66 44 71 65 75 53 68 44 67 65 83 78 44 71 65 82 65 65 44 69 65 65 77 55 104 66 44 87 65 65 97 44 69 65 71 100 107 107 66 44 71 65 67 74 71 44 69 65 65 109 66 110 99 44 81 65 65 83 44 87 65 65 89 44 67 65 65 69 50 90 44 69 65 65 79 112 66 44 73 65 73 55 67 55 103 66 44 69 65 67 74 44 79 65 65 79 105 105 66 44 69 65 73 72 112 66 44 69 65 65 69 111 67 44 79 65 65 113 66 44 69 65 65 90 112 67 44 69 65 65 69 118 68 44 85 65 67 106 66 56 71 44 69 65 65 101 104 107 67 44 71 65 65 79 50 101 44 87 65 65 89 44 87 65 67 106 67 107 106 66 44 69 65 65 77 111 68 44 77 65 65 79 44 89 65 67 88 120 69 44 69 65 65 69 118 68 44 85 65 71 78 44 73 65 67 67 116 100 44 71 65 65 89 44 69 65 67 90 103 107 66 44 69 65 65 85 43 66 44 75 65 65 77 110 66 44 69 65 65 103 66 122 54 66 44 71 65 67 47 66 44 77 65 65 81 54 67 44 71 65 71 84 44 71 65 65 75 103 84 44 69 65 67 74 44 77 65 65 77 104 84 44 69 65 73 80 55 67 44 71 65 65 79 44 69 65 65 71 54 67 44 83 65 104 67 88 55 67 44 71 65 65 79 44 69 65 65 71 44 103 66 65 113 67 88 44 83 65 65 83 65 44 69 65 65 77 105 55 66 44 69 65 65 81 89 44 69 65 65 107 66 67 44 69 65 65 87 76 44 71 65 67 110 68 44 73 65 65 73 77 44 69 65 65 87 74 44 69 65 65 83 108 47 66 44 69 65 65 79 117 47 66 44 69 65 65 85 67 44 69 65 67 120 67 100 44 69 65 65 97 85 44 69 65 71 84 104 109 66 44 73 65 73 76 65 44 71 65 65 89 44 69 65 71 80 111 107 66 44 71 65 67 74 104 107 67 44 71 65 65 79 109 57 66 44 97 65 65 99 54 71 44 71 65 75 116 66 74 44 79 65 65 89 49 57 66 44 69 65 71 90 52 57 66 44 69 65 65 119 66 48 66 44 71 65 65 87 44 71 65 71 110 67 51 68 44 69 65 65 77 55 104 66 44 87 65 65 115 66 44 69 65 65 84 103 108 66 44 69 65 65 97 44 69 65 65 73 44 69 65 71 112 67 99 44 69 65 65 115 66 44 75 65 65 86 100 44 71 65 65 105 66 65 44 69 65 65 83 44 75 65 65 107 66 44 77 65 65 88 65 44 69 65 71 120 67 97 44 73 65 67 74 69 44 69 65 55 108 66 74 44 83 65 65 56 66 116 70 44 69 65 65 71 111 66 44 69 65 65 79 103 69 44 71 65 69 118 67 44 73 65 65 73 73 44 69 65 65 73 114 107 67 44 69 65 65 77 115 107 67 44 69 65 65 101 67 44 69 65 67 53 66 122 115 66 44 69 65 65 87 43 109 66 44 69 65 65 69 47 109 66 44 83 65 67 98 105 111 66 44 69 65 65 89 108 66 44 69 65 65 69 107 66 44 85 65 71 102 44 77 65 65 50 66 44 77 65 65 110 66 65 44 69 65 65 87 44 71 65 67 108 66 65 44 69 65 65 85 110 122 66 44 97 65 67 69 116 73 44 73 65 65 80 43 47 66 44 73 65 67 74 65 44 69 65 65 75 120 70 44 69 65 65 69 115 69 44 85 65 65 89 108 68 44 69 65 65 77 56 67 44 107 66 65 65 109 66 44 105 66 65 75 57 67 44 71 65 65 75 115 66 44 69 65 67 74 44 73 65 65 77 114 107 67 44 75 65 65 81 56 88 44 69 65 67 98 44 71 65 65 75 65 44 69 65 65 85 57 88 44 73 65 65 85 56 88 44 69 65 65 85 57 88 44 71 65 65 79 56 70 44 75 65 65 77 117 43 66 44 71 65 65 79 44 67 65 67 116 68 116 69 44 69 65 65 85 108 102 44 81 65 65 83 55 103 66 44 71 65 67 110 66 44 77 65 77 72 44 71 65 65 75 43 47 66 44 69 65 65 87 44 75 65 65 79 107 69 44 69 65 67 116 66 75 44 69 65 65 103 66 118 69 44 69 65 65 87 44 79 65 67 114 66 44 67 65 71 78 44 73 65 65 77 47 47 66 44 75 65 65 81 105 107 67 44 69 65 65 89 44 67 65 67 122 66 44 73 65 65 77 108 69 44 69 65 65 87 44 73 65 65 79 108 66 44 69 65 65 69 121 67 44 87 65 65 89 116 104 67 44 69 65 65 79 44 73 65 65 77 43 47 66 44 69 65 65 87 44 73 65 65 81 44 67 65 67 114 69 117 69 44 69 65 65 103 66 116 107 67 44 69 65 67 104 66 44 77 65 69 75 117 107 67 44 73 65 67 76 65 44 69 65 65 103 66 118 107 67 44 71 65 75 108 66 115 107 67 44 69 65 65 103 66 65 44 71 65 65 105 66 67 44 69 65 77 108 67 44 71 65 65 75 68 44 69 65 73 74 44 79 65 72 75 65 44 73 65 65 107 66 118 69 44 69 65 65 87 44 73 65 67 106 67 65 44 69 65 65 85 108 102 44 81 65 65 83 121 106 66 44 71 65 69 98 76 44 69 65 65 87 75 44 71 65 48 105 66 76 69 44 67 65 65 113 66 51 70 44 69 65 65 71 111 66 44 69 65 65 79 103 69 44 75 65 73 114 67 67 44 73 65 67 115 67 44 69 65 65 51 67 53 105 67 44 71 65 65 79 105 69 44 81 65 65 83 44 83 65 65 85 115 53 66 44 69 65 65 69 107 66 44 89 65 67 53 66 122 43 66 44 71 65 65 79 105 69 44 81 65 65 83 44 79 65 65 81 115 53 66 44 69 65 65 69 107 66 44 87 65 65 99 44 73 65 67 120 67 108 66 44 69 65 65 69 121 67 44 87 65 65 89 44 101 65 65 107 66 44 99 65 73 106 67 54 67 44 69 65 57 105 66 72 44 83 65 65 115 66 116 70 44 69 65 65 71 115 70 44 69 65 65 85 108 69 44 69 65 65 79 105 69 44 71 65 67 122 67 44 73 65 65 73 79 44 69 65 65 79 67 44 69 65 65 83 67 44 69 65 65 77 49 106 66 44 69 65 65 75 108 74 44 69 65 67 57 66 117 112 66 44 69 65 65 97 44 71 65 71 98 118 66 44 69 65 65 89 108 66 44 69 65 65 69 107 66 44 85 65 65 85 112 104 67 44 81 65 71 122 66 44 71 65 65 75 111 104 67 44 69 65 65 87 44 71 65 67 102 44 73 65 65 77 52 69 44 75 65 65 81 57 70 44 69 65 65 69 121 67 44 87 65 67 102 65 44 69 65 65 89 113 68 44 69 65 65 75 51 105 67 44 101 65 65 107 66 54 56 66 44 69 65 65 69 121 67 44 87 65 65 89 113 68 44 71 65 73 110 68 68 44 69 65 65 85 51 69 44 69 65 65 85 110 122 66 44 81 65 71 112 66 44 77 65 65 81 56 51 66 44 69 65 99 80 44 71 65 90 75 55 70 44 69 65 65 69 119 67 44 101 65 65 103 66 113 68 44 75 65 67 116 66 122 69 44 69 65 65 79 112 66 44 69 65 65 69 119 67 44 101 65 65 103 66 113 68 44 73 65 65 99 80 44 73 65 73 108 67 112 115 66 44 71 65 65 81 109 115 66 44 71 65 65 97 114 70 44 69 65 65 69 43 70 44 97 65 67 53 66 84 44 69 65 65 87 116 70 44 69 65 65 69 43 70 44 87 65 65 89 84 44 69 65 65 85 116 70 44 69 65 65 69 105 66 44 87 65 71 116 67 47 110 66 44 69 65 65 79 50 115 66 44 69 65 67 80 65 44 69 65 65 85 51 69 44 69 65 65 85 110 122 66 44 81 65 75 110 66 44 71 65 65 105 66 44 77 65 65 90 56 51 66 44 69 65 69 74 65 44 69 65 65 85 51 115 66 44 79 65 71 74 44 71 65 65 99 44 77 65 65 84 65 44 71 65 65 103 66 65 44 73 65 65 83 50 115 66 44 69 65 65 85 44 67 65 77 57 67 44 75 65 72 65 67 44 69 65 65 79 114 68 44 69 65 65 89 118 112 66 44 69 65 65 79 44 73 65 65 77 50 115 66 44 73 65 65 97 112 68 44 69 65 65 89 44 75 65 65 79 111 68 44 73 65 73 47 68 44 73 65 65 77 68 44 75 65 65 83 110 68 44 69 65 73 100 44 73 65 68 65 114 103 66 44 69 65 65 77 119 106 66 44 69 65 65 77 106 43 66 44 77 65 65 79 44 77 65 67 84 44 75 65 65 81 107 43 66 44 73 65 71 106 66 67 44 69 65 65 79 114 68 44 69 65 65 89 118 112 66 44 69 65 65 79 44 73 65 65 77 107 74 44 69 65 65 75 44 75 65 67 112 67 113 103 66 44 69 65 65 89 44 75 65 65 79 114 103 66 44 69 65 65 75 44 75 65 67 98 44 69 65 71 71 44 73 65 65 84 48 106 66 44 69 65 67 74 65 44 69 65 65 79 114 68 44 69 65 65 89 109 68 44 73 65 71 103 66 44 73 65 65 120 66 110 68 44 69 65 65 89 109 68 44 75 65 67 118 66 67 44 69 65 65 85 122 106 66 44 69 65 65 75 44 71 65 67 102 56 101 44 69 65 65 85 108 102 44 81 65 65 83 73 44 69 65 65 75 44 75 65 69 122 66 44 77 65 79 74 44 73 65 65 99 44 73 65 65 84 48 106 66 44 69 65 71 74 44 71 65 65 75 65 44 71 65 65 81 57 70 44 69 65 65 69 103 71 44 85 65 67 100 86 44 69 65 65 87 81 44 69 65 65 77 82 44 81 65 69 106 66 44 73 65 67 67 65 44 69 65 65 87 81 44 69 65 65 77 82 44 71 65 67 104 66 44 77 65 65 81 110 53 66 44 71 65 67 84 44 77 65 65 79 44 67 65 67 78 109 81 44 77 65 65 79 44 99 65 67 80 118 87 44 77 65 65 79 43 47 66 44 69 65 65 79 51 53 66 44 69 65 65 73 44 115 66 65 65 119 66 43 77 44 69 65 65 79 44 79 65 65 83 50 115 66 44 73 65 83 106 69 44 77 65 65 79 44 67 65 65 69 118 112 66 44 77 65 65 79 44 85 65 65 87 119 69 44 75 65 65 77 119 107 66 44 71 65 105 100 112 66 87 44 67 65 65 97 106 71 44 69 65 65 71 115 70 44 69 65 65 85 108 69 44 69 65 65 79 105 69 44 71 65 71 118 67 65 44 71 65 71 67 114 70 44 69 65 65 69 56 69 44 99 65 67 78 83 44 69 65 65 87 110 69 44 69 65 65 77 56 67 44 107 66 65 65 109 66 44 111 66 65 69 110 67 122 104 67 44 71 65 65 79 113 47 66 44 97 65 65 99 115 66 44 71 65 65 97 109 67 44 73 65 69 110 67 65 44 69 65 65 87 110 69 44 69 65 65 77 56 67 44 107 66 65 65 109 66 44 87 65 69 110 67 122 104 67 44 71 65 65 79 115 47 66 44 75 65 65 77 113 66 44 71 65 65 97 109 67 44 73 65 75 90 44 77 65 65 88 104 66 44 71 65 65 54 66 44 83 65 65 88 118 69 44 69 65 65 69 55 43 66 44 75 65 67 120 66 115 106 67 44 69 65 65 97 44 89 65 71 83 44 77 65 65 88 70 44 69 65 67 88 69 44 69 65 65 97 44 101 65 73 98 65 44 69 65 65 97 97 44 69 65 65 83 104 112 66 44 77 65 67 116 66 50 111 66 44 69 65 65 85 75 44 69 65 65 83 120 107 66 44 75 65 69 110 66 117 107 66 44 73 65 68 65 116 47 66 44 69 65 65 81 117 47 66 44 69 65 65 83 118 47 66 44 85 65 77 108 66 65 44 69 65 65 81 48 43 66 44 71 65 67 72 70 44 71 65 65 87 69 44 73 65 67 102 65 44 69 65 65 97 44 81 65 67 82 70 44 69 65 65 83 44 73 65 67 98 65 44 69 65 65 83 44 75 65 77 90 110 68 44 69 65 65 77 109 68 44 79 65 65 83 65 44 69 65 67 102 110 68 44 69 65 65 77 113 68 44 89 65 65 101 85 44 71 65 65 111 66 86 44 71 65 65 101 44 71 65 71 110 68 89 44 69 65 67 74 55 111 66 44 69 65 65 83 111 66 44 89 65 65 97 43 108 66 44 69 65 65 105 66 44 67 65 65 69 115 66 44 69 65 65 83 82 44 69 65 65 89 114 68 44 73 65 69 57 68 53 107 66 44 69 65 65 83 117 66 44 87 65 65 89 52 108 66 44 69 65 65 105 66 44 67 65 65 69 118 67 44 69 65 65 79 113 68 44 69 65 65 89 49 43 66 44 73 65 73 53 68 113 55 66 44 69 65 65 77 48 67 44 87 65 65 89 65 44 71 65 67 108 66 65 44 79 65 65 97 114 43 66 44 69 65 69 82 103 43 66 44 71 65 67 74 71 44 69 65 65 109 66 110 99 44 81 65 65 83 52 100 44 69 65 65 89 44 99 65 65 103 66 44 89 65 67 118 68 44 67 65 65 69 106 69 44 69 65 65 79 112 66 44 69 65 65 71 113 70 44 69 65 65 89 74 44 69 65 65 85 108 47 66 44 73 65 73 112 67 56 57 66 44 69 65 65 105 66 51 110 66 44 83 65 65 85 121 110 66 44 69 65 65 105 66 44 67 65 65 69 118 67 44 69 65 65 79 113 68 44 73 65 69 104 68 104 66 44 73 65 67 74 71 44 69 65 65 109 66 110 99 44 81 65 65 83 44 101 65 65 103 66 44 67 65 65 69 50 90 44 69 65 65 79 112 66 44 77 65 71 51 67 118 57 66 44 71 65 65 79 111 47 66 44 81 65 67 104 66 112 47 66 44 71 65 65 79 115 107 66 44 77 65 65 77 85 44 81 65 65 83 44 99 65 75 122 66 44 79 65 65 79 50 90 44 71 65 71 82 56 69 44 81 65 65 83 44 83 65 65 85 108 69 44 69 65 65 75 108 104 66 44 69 65 65 77 57 99 44 71 65 67 55 66 44 79 65 65 79 118 66 44 71 65 65 79 101 44 73 65 65 75 119 43 66 44 69 65 65 75 108 104 66 44 69 65 65 77 57 99 44 69 65 65 85 44 83 65 71 122 67 109 105 67 44 85 65 65 87 44 83 65 65 85 110 69 44 69 65 65 75 104 43 66 44 71 65 67 122 66 44 79 65 65 79 118 66 44 71 65 65 79 101 44 73 65 65 75 119 43 66 44 79 65 65 75 118 56 66 44 69 65 65 87 122 66 44 69 65 65 85 44 97 65 73 47 67 118 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 44 77 65 65 79 44 81 65 65 85 44 83 65 65 85 54 68 44 69 65 65 73 105 84 44 71 65 67 55 67 112 89 44 71 65 65 81 111 89 44 71 65 65 87 44 83 65 65 85 109 110 66 44 69 65 65 75 108 104 66 44 69 65 65 77 57 99 44 69 65 65 85 55 67 44 71 65 85 106 68 44 79 65 80 75 78 44 69 65 65 89 105 103 66 44 75 65 67 104 66 51 102 44 69 65 65 79 65 44 71 65 65 81 54 67 44 69 65 67 102 65 44 69 65 65 87 56 99 44 69 65 67 88 65 44 79 65 65 79 114 98 44 71 65 73 68 104 68 44 71 65 65 79 121 103 67 44 75 65 65 77 122 103 67 44 71 65 65 79 115 67 44 79 65 65 81 44 67 65 67 108 67 105 57 66 44 73 65 65 75 65 44 69 65 67 76 55 103 67 44 75 65 65 77 48 90 44 69 65 67 78 111 109 66 44 83 65 65 85 57 47 66 44 69 65 67 86 50 102 44 75 65 65 77 65 44 69 65 67 78 109 107 66 44 81 65 65 83 106 104 67 44 71 65 67 80 118 66 44 71 65 65 79 54 67 44 99 65 65 101 48 56 66 44 73 65 65 83 65 44 79 65 73 112 67 118 47 66 44 71 65 65 79 117 103 67 44 99 65 65 101 44 83 65 65 85 104 68 44 71 65 67 47 66 44 73 65 65 73 114 43 66 44 69 65 67 74 44 73 65 65 77 65 44 75 65 65 75 113 43 66 44 69 65 65 69 43 69 44 81 65 67 97 44 105 66 65 65 112 66 112 106 67 44 69 65 65 69 119 66 44 103 66 65 67 78 54 56 66 44 69 65 65 69 113 67 44 89 65 65 99 114 67 44 69 65 65 69 43 69 44 81 65 65 83 112 106 67 44 73 65 65 79 44 77 65 77 114 67 99 44 71 65 65 79 52 114 66 44 83 65 65 87 44 83 65 65 85 50 84 44 69 65 65 75 104 57 66 44 69 65 65 83 116 68 44 71 65 67 122 67 44 79 65 65 79 101 44 71 65 65 79 121 103 67 44 75 65 65 77 44 67 65 67 110 66 108 66 44 73 65 65 75 65 44 69 65 71 76 55 103 67 44 75 65 65 77 44 77 65 67 78 56 47 66 44 83 65 65 85 44 83 65 67 86 114 122 66 44 79 65 65 79 44 69 65 67 80 119 48 66 44 79 65 65 79 44 69 65 67 80 112 106 67 44 81 65 65 81 44 69 65 75 82 121 106 67 44 87 65 65 89 44 67 65 67 88 50 68 44 99 65 65 101 44 99 65 69 104 66 76 44 87 65 65 89 44 83 65 65 85 84 44 71 65 67 114 66 55 105 67 44 71 65 65 79 52 68 44 87 65 65 89 105 47 66 44 69 65 65 85 116 103 67 44 69 65 65 83 116 68 44 79 65 77 122 67 101 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 67 106 66 115 104 67 44 81 65 65 83 44 83 65 65 85 106 89 44 71 65 67 108 66 44 73 65 65 73 108 73 44 69 65 121 66 74 44 79 65 118 66 75 49 109 66 44 75 65 65 77 44 75 65 67 76 113 66 44 69 65 65 89 117 116 66 44 75 65 67 104 66 65 44 69 65 65 79 65 44 69 65 65 75 110 117 66 44 75 65 65 77 84 44 75 65 65 77 44 75 65 73 122 66 48 109 66 44 69 65 65 79 122 106 66 44 71 65 65 81 50 114 66 44 69 65 65 77 53 117 66 44 75 65 65 77 44 71 65 65 73 117 72 44 101 65 65 103 66 51 67 44 71 65 65 73 44 71 65 65 73 101 44 79 65 65 79 44 71 65 69 122 68 51 70 44 75 65 65 77 44 71 65 65 73 52 67 44 89 65 67 100 56 106 66 44 69 65 65 75 56 73 44 97 65 65 99 120 118 66 44 75 65 65 77 44 73 65 71 49 66 48 109 66 44 69 65 65 75 106 105 66 44 73 65 65 75 44 87 65 67 84 44 73 65 65 73 104 66 44 69 65 65 79 122 68 44 75 65 69 88 44 77 65 65 81 121 68 44 69 65 65 75 113 106 67 44 107 66 65 67 90 114 106 67 44 69 65 65 79 65 44 69 65 65 75 113 106 67 44 107 66 65 71 98 44 79 65 65 79 114 106 67 44 73 65 67 74 54 114 66 44 79 65 65 81 116 118 66 44 79 65 71 78 65 44 77 65 71 82 43 109 67 44 85 65 65 87 44 83 65 65 85 110 89 44 71 65 67 112 66 44 79 65 65 75 118 116 66 44 69 65 65 89 117 116 66 44 71 65 67 84 53 117 66 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 112 67 44 71 65 67 51 66 99 44 71 65 65 81 106 68 44 77 65 65 79 43 109 67 44 85 65 65 87 110 89 44 69 65 65 75 110 117 66 44 75 65 65 77 84 44 75 65 65 77 109 67 44 77 65 73 116 67 110 67 44 75 65 65 75 117 69 44 75 65 65 77 44 87 65 67 106 66 44 73 65 65 73 50 85 44 69 65 65 79 106 87 44 71 65 65 81 106 68 44 77 65 67 108 66 121 90 44 69 65 65 87 80 44 69 65 65 75 79 44 87 65 69 90 65 44 69 65 65 83 108 87 44 79 65 67 98 107 87 44 69 65 65 83 111 116 66 44 81 65 65 83 106 89 44 71 65 71 108 66 49 86 44 69 65 65 75 111 87 44 79 65 65 81 86 44 77 65 75 104 66 108 73 44 75 65 65 77 44 83 65 65 85 107 73 44 71 65 67 102 44 73 65 65 73 111 89 44 69 65 65 105 66 51 108 67 44 69 65 65 89 117 116 66 44 71 65 69 106 67 44 79 65 65 79 53 117 66 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 112 67 44 71 65 67 51 66 99 44 71 65 65 81 106 68 44 77 65 65 79 54 109 67 44 81 65 65 83 71 44 69 65 65 105 66 112 89 44 69 65 65 75 110 117 66 44 75 65 65 77 84 44 75 65 65 77 109 67 44 71 65 65 77 121 115 66 44 77 65 73 108 69 113 89 44 79 65 65 81 44 83 65 65 85 47 106 67 44 71 65 73 106 66 44 79 65 72 65 108 68 44 75 65 65 75 117 83 44 79 65 65 81 114 80 44 71 65 65 87 43 80 44 73 65 65 75 44 81 65 65 83 49 79 44 75 65 65 77 44 87 65 67 51 67 116 66 44 71 65 65 81 106 68 44 77 65 65 79 50 118 66 44 89 65 65 97 51 118 66 44 75 65 65 75 48 77 44 99 65 69 51 66 49 77 44 81 65 75 84 105 68 44 71 65 65 79 113 78 44 75 65 65 75 57 70 44 81 65 65 81 54 117 66 44 79 65 65 83 44 83 65 65 85 53 49 66 44 71 65 67 116 67 44 79 65 65 81 82 44 71 65 65 79 113 78 44 75 65 65 75 57 70 44 81 65 65 81 48 56 66 44 81 65 65 83 122 106 67 44 73 65 69 116 67 82 44 71 65 65 79 113 78 44 75 65 65 75 57 70 44 81 65 65 81 48 56 66 44 81 65 65 85 44 83 65 65 85 122 106 67 44 71 65 67 118 67 44 83 65 65 87 65 44 69 65 65 75 48 117 66 44 97 65 65 101 49 117 66 44 69 65 65 75 54 118 66 44 99 65 65 103 66 55 118 66 44 69 65 65 75 52 120 66 44 105 66 65 65 105 66 57 120 66 44 83 65 77 51 69 78 44 71 65 65 79 109 47 66 44 97 65 65 97 43 69 44 73 65 65 77 44 87 65 67 122 66 44 73 65 67 67 44 79 65 65 79 44 73 65 65 73 112 110 67 44 71 65 65 79 113 110 67 44 101 65 67 106 66 44 77 65 65 81 122 54 66 44 77 65 71 88 44 73 65 65 73 48 54 66 44 71 65 65 109 66 44 67 65 71 114 66 67 44 69 65 65 71 44 73 65 73 72 67 44 75 65 65 77 44 75 65 69 80 67 44 71 65 65 101 118 107 67 44 71 65 65 79 109 47 66 44 97 65 65 97 43 69 44 77 65 69 112 67 47 108 67 44 71 65 65 81 113 109 67 44 79 65 65 83 68 44 73 65 65 107 66 44 111 66 65 65 113 66 65 44 71 65 67 120 68 112 109 67 44 71 65 65 81 115 105 67 44 75 65 65 79 56 68 44 75 65 65 105 66 65 44 71 65 69 104 67 118 107 67 44 71 65 65 79 119 103 67 44 99 65 65 101 44 83 65 65 85 106 43 66 44 71 65 67 47 66 44 73 65 65 73 104 66 44 69 65 65 85 107 106 67 44 69 65 71 100 44 71 65 65 75 116 109 67 44 71 65 65 81 113 109 67 44 77 65 65 81 68 44 75 65 65 105 66 104 105 67 44 69 65 65 81 50 47 66 44 89 65 67 55 67 44 77 65 65 79 44 67 65 67 78 79 44 75 65 65 77 44 83 65 65 85 72 44 69 65 65 83 49 75 44 71 65 67 120 66 44 73 65 65 73 49 52 66 44 69 65 67 72 103 108 67 44 69 65 65 77 51 104 67 44 69 65 65 81 50 104 67 44 77 65 87 102 44 71 65 84 65 65 44 69 65 65 73 81 44 75 65 67 72 110 105 67 44 69 65 65 81 55 68 44 75 65 67 82 54 68 44 69 65 65 81 103 57 66 44 73 65 67 82 104 57 66 44 69 65 65 81 111 57 66 44 77 65 67 82 112 57 66 44 69 65 65 81 111 105 67 44 83 65 67 82 112 105 67 44 69 65 65 81 121 80 44 85 65 73 74 122 80 44 69 65 65 81 113 105 67 44 85 65 67 90 44 73 65 65 77 49 108 67 44 75 65 65 75 113 68 44 69 65 65 81 113 105 67 44 85 65 67 108 66 86 44 69 65 65 75 104 108 67 44 71 65 65 77 113 68 44 69 65 65 81 113 105 67 44 85 65 65 87 49 108 67 44 71 65 109 66 104 67 44 73 65 65 77 65 44 75 65 100 68 113 68 44 69 65 65 81 115 47 66 44 85 65 65 89 113 67 44 69 65 65 73 116 67 44 107 66 65 67 53 66 115 67 44 69 65 65 73 116 67 44 105 66 65 65 107 66 114 47 66 44 69 65 65 81 115 47 66 44 85 65 81 122 66 116 47 66 44 69 65 65 81 50 47 66 44 97 65 65 103 66 73 44 69 65 65 83 44 115 66 65 67 116 67 65 44 69 65 65 83 44 111 66 65 65 117 66 44 107 66 65 73 116 66 65 44 69 65 67 86 52 66 44 69 65 65 73 118 67 44 105 66 65 65 107 66 122 105 67 44 69 65 65 71 111 106 67 44 69 65 65 83 112 106 67 44 73 65 73 110 67 113 67 44 69 65 65 87 44 83 65 65 85 55 67 44 71 65 67 112 66 44 79 65 65 79 44 87 65 67 68 54 67 44 73 65 67 74 65 44 69 65 65 87 107 106 67 44 69 65 65 103 66 80 44 69 65 65 73 87 44 79 65 67 57 66 88 44 69 65 65 73 89 44 81 65 65 85 90 44 69 65 65 73 97 44 81 65 65 85 98 44 69 65 65 73 99 44 85 65 67 47 66 100 44 69 65 65 73 101 44 109 66 65 65 113 66 44 75 65 69 98 44 85 65 65 84 118 109 67 44 69 65 67 74 119 108 67 44 69 65 65 73 110 67 44 81 65 67 103 66 44 85 65 65 84 114 106 67 44 69 65 75 103 66 44 105 66 65 65 102 119 108 67 44 69 65 65 73 112 67 44 79 65 67 102 108 75 44 69 65 65 85 44 69 65 65 71 44 83 65 69 98 65 44 69 65 71 67 115 77 44 69 65 65 73 112 67 44 79 65 67 74 111 67 44 69 65 65 73 108 67 44 89 65 73 78 112 75 44 69 65 67 67 119 77 44 71 65 65 107 66 70 44 69 65 65 73 112 67 44 83 65 65 89 111 67 44 69 65 65 73 112 67 44 79 65 67 116 67 111 67 44 69 65 65 73 108 67 44 87 65 75 43 66 44 85 65 65 106 67 107 67 44 69 65 65 73 103 66 44 99 65 65 103 66 44 83 65 67 77 44 105 66 65 65 114 66 104 66 44 69 65 65 73 105 66 44 97 65 67 86 44 67 65 65 69 67 44 79 65 65 81 108 66 44 69 65 65 73 114 66 44 85 65 67 100 44 67 65 65 69 118 106 67 44 75 65 65 77 52 107 67 44 69 65 65 73 105 66 44 99 65 67 98 106 66 44 69 65 65 73 120 67 44 52 66 65 81 84 119 67 44 69 65 65 73 87 44 79 65 65 83 116 106 67 44 73 65 67 98 107 106 67 44 69 65 65 103 66 80 44 69 65 65 73 89 44 81 65 65 85 90 44 69 65 65 73 99 44 85 65 65 89 122 106 67 44 69 65 65 85 44 99 65 75 110 67 121 66 44 73 65 65 104 66 107 104 67 44 69 65 65 73 97 44 81 65 67 82 98 44 69 65 65 73 97 44 81 65 65 85 78 44 69 65 69 100 80 44 69 65 65 73 101 44 109 66 65 65 113 66 44 87 65 71 65 44 73 65 65 110 66 102 44 69 65 65 73 112 110 66 44 89 65 77 82 104 103 66 44 71 65 65 79 50 101 44 87 65 65 89 44 87 65 67 98 108 97 44 71 65 67 74 107 106 67 44 79 65 81 76 108 106 67 44 69 65 65 87 65 44 69 65 65 85 44 83 65 69 114 66 44 73 65 71 67 50 105 67 44 69 65 65 73 122 66 44 75 65 65 77 108 103 67 44 69 65 65 81 54 47 66 44 89 65 65 99 55 47 66 44 69 65 65 81 56 98 44 77 65 65 81 44 77 65 67 47 67 44 77 65 65 81 51 85 44 71 65 71 84 44 71 65 65 75 110 73 44 69 65 67 74 44 77 65 65 77 109 73 44 73 65 75 84 113 52 66 44 77 65 65 79 44 87 65 67 68 120 103 67 44 71 65 67 74 65 44 81 65 87 76 118 66 44 71 65 65 79 117 103 67 44 99 65 65 101 44 83 65 65 85 104 68 44 71 65 67 49 66 65 44 69 65 65 69 50 69 44 99 65 67 78 51 69 44 69 65 65 69 47 109 66 44 83 65 65 83 112 88 44 81 65 65 83 44 75 65 75 116 66 89 44 71 65 65 79 113 103 67 44 85 65 65 87 44 67 65 67 106 66 82 44 81 65 65 83 44 67 65 67 82 122 103 67 44 79 65 65 81 44 54 70 65 71 84 111 88 44 83 65 65 85 44 67 65 67 84 112 88 44 79 65 65 81 44 50 66 65 69 84 52 103 67 44 87 65 65 89 44 67 65 67 88 50 68 44 99 65 65 101 44 83 65 65 85 114 107 67 44 71 65 69 120 66 44 79 65 68 65 85 44 71 65 65 79 52 68 44 87 65 65 89 116 69 44 71 65 67 90 65 44 77 65 77 86 85 44 71 65 65 79 117 103 67 44 99 65 65 101 44 83 65 65 85 44 83 65 65 85 104 68 44 81 65 67 120 66 118 54 66 44 73 65 65 90 117 54 66 44 69 65 65 69 112 121 66 44 81 65 67 78 111 121 66 44 69 65 65 69 112 121 66 44 79 65 65 81 44 71 65 69 78 111 121 66 44 69 65 65 69 50 69 44 99 65 67 78 51 69 44 69 65 65 69 55 43 66 44 75 65 65 79 44 83 65 75 88 115 66 44 71 65 65 79 119 103 67 44 99 65 65 101 44 83 65 65 85 44 83 65 65 85 106 68 44 71 65 73 120 67 44 73 65 65 73 110 43 66 44 69 65 65 81 109 67 44 69 65 68 98 44 71 65 65 75 103 56 66 44 69 65 65 69 50 69 44 97 65 65 101 51 69 44 69 65 65 69 56 72 44 89 65 69 118 66 44 77 65 65 79 44 67 65 67 78 53 67 44 75 65 65 77 44 83 65 65 85 47 112 66 44 69 65 65 71 107 102 44 71 65 67 108 66 120 52 66 44 69 65 65 83 89 44 71 65 65 81 44 89 65 67 102 119 78 44 75 65 65 77 43 118 66 44 69 65 65 69 56 72 44 97 65 65 101 44 73 65 67 118 66 47 109 66 44 75 65 65 77 44 67 65 65 69 103 110 66 44 81 65 65 83 47 72 44 69 65 65 69 103 73 44 99 65 65 101 53 109 67 44 73 65 65 75 52 43 66 44 69 65 65 69 103 67 44 77 65 67 122 67 114 98 44 71 65 65 73 44 97 65 65 99 51 105 66 44 69 65 65 87 44 83 65 65 85 105 107 67 44 71 65 67 118 67 112 109 67 44 69 65 65 79 107 97 44 83 65 67 80 47 88 44 69 65 65 87 44 75 65 67 78 105 107 67 44 71 65 67 74 53 78 44 69 65 65 117 66 44 85 65 65 98 52 78 44 69 65 65 73 57 109 67 44 75 65 65 109 66 44 73 65 65 77 44 73 65 65 75 56 109 67 44 69 65 65 73 57 109 67 44 81 65 75 110 68 47 66 44 69 65 65 83 56 67 44 75 65 65 75 67 44 89 65 65 97 78 44 69 65 65 81 44 75 65 69 112 67 50 105 67 44 77 65 65 79 44 87 65 67 68 120 103 67 44 71 65 67 74 65 44 81 65 85 76 44 73 65 113 71 75 105 103 66 44 71 65 114 71 68 105 107 66 44 71 65 65 101 44 71 65 67 108 66 67 44 71 65 65 83 44 111 66 65 71 86 49 108 67 44 71 65 65 79 113 103 67 44 85 65 65 87 44 67 65 67 106 66 115 70 44 77 65 65 79 44 87 65 67 80 67 44 99 65 65 101 44 87 65 67 100 44 73 65 65 73 114 107 67 44 69 65 65 87 107 107 67 44 71 65 65 97 114 103 67 44 79 65 65 87 112 70 44 71 65 65 79 105 68 44 81 65 65 85 44 73 65 65 81 114 69 44 71 65 65 77 109 71 44 79 65 69 116 69 44 79 65 68 65 104 73 44 75 65 65 77 119 69 44 73 65 65 97 44 69 65 67 90 65 44 75 65 75 84 118 66 44 71 65 65 79 117 103 67 44 99 65 65 101 44 97 65 65 99 44 83 65 65 85 104 68 44 69 65 65 71 115 73 44 69 65 65 107 66 108 72 44 71 65 69 108 69 44 73 65 65 73 109 72 44 69 65 65 99 67 44 69 65 65 97 67 44 69 65 67 57 66 67 44 71 65 65 117 66 44 73 65 65 90 49 73 44 69 65 65 69 111 73 44 81 65 65 113 66 68 44 71 65 65 79 108 104 67 44 75 65 65 77 43 52 66 44 69 65 65 69 103 67 44 75 65 67 104 68 44 77 65 67 107 66 44 105 66 65 65 88 104 67 44 69 65 65 69 108 102 44 77 65 69 54 67 44 75 65 68 110 68 107 102 44 69 65 65 69 113 67 44 97 65 65 101 44 73 65 67 106 66 104 105 67 44 81 65 65 83 44 115 67 65 67 88 56 110 67 44 71 65 65 79 108 104 67 44 75 65 65 77 43 52 66 44 69 65 65 69 108 102 44 79 65 65 85 44 81 65 73 53 66 44 71 65 65 75 52 110 66 44 71 65 65 105 67 44 85 65 65 114 66 49 73 44 69 65 65 69 107 66 44 85 65 65 87 44 71 65 56 68 55 66 44 79 65 51 68 65 113 72 44 69 65 65 101 118 73 44 69 65 65 69 113 73 44 99 65 65 103 66 120 110 67 44 69 65 65 89 109 47 66 44 69 65 65 69 113 73 44 101 65 67 57 67 114 73 44 69 65 65 69 113 73 44 103 66 65 67 70 114 73 44 69 65 65 69 113 73 44 99 65 71 69 75 44 69 65 67 74 49 73 44 69 65 65 71 48 73 44 71 65 65 97 49 73 44 69 65 65 71 48 73 44 71 65 65 87 55 105 67 44 81 65 65 83 115 105 67 44 71 65 65 81 44 75 65 65 79 73 44 73 65 67 47 66 44 73 65 65 90 118 73 44 69 65 65 69 111 73 44 81 65 67 98 112 73 44 69 65 65 69 103 67 44 77 65 65 83 114 68 44 71 65 65 79 49 51 66 44 75 65 65 77 43 52 66 44 69 65 65 69 103 67 44 75 65 65 81 44 73 65 65 77 44 75 65 65 81 104 67 44 69 65 65 69 111 73 44 77 65 65 81 44 73 65 65 77 71 44 71 65 73 106 69 118 73 44 69 65 65 69 121 67 44 87 65 65 89 44 101 65 65 107 66 44 87 65 73 47 66 44 79 65 72 77 103 71 44 71 65 67 76 104 109 67 44 71 65 65 79 115 68 44 77 65 65 79 119 105 67 44 69 65 65 101 44 109 66 65 69 118 66 69 44 69 65 65 109 66 44 73 65 73 51 66 122 73 44 69 65 65 69 107 66 44 85 65 65 87 44 71 65 65 77 44 79 65 71 110 66 115 72 44 69 65 65 99 106 112 67 44 71 65 65 81 103 112 67 44 71 65 67 116 66 104 112 67 44 71 65 65 81 103 112 67 44 71 65 65 105 66 44 87 65 67 120 66 69 44 69 65 65 111 66 118 107 67 44 87 65 73 114 66 107 57 66 44 69 65 65 77 55 107 66 44 79 65 65 81 44 103 66 65 71 81 57 87 44 73 65 65 104 66 43 105 67 44 69 65 67 74 47 108 67 44 71 65 65 81 108 68 44 73 65 65 83 109 43 66 44 87 65 65 89 54 75 44 71 65 73 55 66 104 112 67 44 71 65 65 81 103 112 67 44 71 65 65 105 66 67 44 69 65 73 114 66 120 73 44 69 65 65 71 117 73 44 75 65 71 80 118 73 44 69 65 65 69 113 73 44 99 65 65 103 66 67 44 69 65 65 105 66 68 44 99 65 71 110 67 72 44 71 65 65 97 57 110 67 44 75 65 65 77 109 111 67 44 73 65 73 102 69 44 71 65 65 113 66 53 110 67 44 69 65 65 89 50 110 67 44 73 65 67 114 67 65 44 69 65 65 97 67 44 69 65 65 109 66 44 73 65 71 106 67 65 44 69 65 65 111 66 68 44 79 65 65 99 47 105 67 44 73 65 73 53 66 44 87 65 89 84 55 69 44 71 65 65 81 43 110 67 44 113 66 65 67 72 49 107 66 44 71 65 65 79 55 107 66 44 69 65 65 83 119 112 67 44 101 65 65 101 68 44 109 66 65 65 111 66 44 73 65 65 75 49 107 66 44 77 65 67 118 68 116 85 44 85 65 65 89 44 54 66 65 67 105 66 44 73 65 65 51 66 115 85 44 71 65 65 75 47 88 44 87 65 65 87 110 74 44 81 65 81 120 66 78 44 71 65 65 79 109 87 44 85 65 65 89 44 83 65 65 85 107 73 44 69 65 65 77 110 101 44 69 65 65 83 107 109 67 44 71 65 67 51 67 44 77 65 65 113 66 44 105 66 65 65 84 47 110 66 44 69 65 67 74 44 73 65 69 103 66 44 107 66 65 65 90 110 101 44 73 65 67 88 107 109 67 44 69 65 65 99 108 109 67 44 69 65 67 100 65 44 71 65 65 85 44 71 65 75 76 65 44 73 65 73 65 47 66 44 71 65 65 81 43 110 67 44 113 66 65 77 90 120 122 66 44 71 65 76 65 120 83 44 69 65 65 85 118 68 44 69 65 65 83 119 112 67 44 101 65 65 101 68 44 109 66 65 65 111 66 44 75 65 75 118 67 55 109 67 44 99 65 65 101 44 83 65 67 122 66 48 82 44 75 65 65 79 112 85 44 69 65 65 83 54 84 44 83 65 65 83 79 44 75 65 67 57 66 55 81 44 69 65 65 81 84 44 75 65 65 75 67 44 89 65 65 97 103 84 44 73 65 69 49 66 120 83 44 69 65 65 85 118 68 44 71 65 75 90 50 109 66 44 71 65 65 87 56 105 66 44 71 65 65 101 44 73 65 68 49 66 67 44 69 65 65 83 118 119 66 44 69 65 65 87 49 76 44 75 65 65 77 105 85 44 73 65 75 108 66 44 67 65 65 69 110 101 44 69 65 65 81 98 44 99 65 65 101 103 110 67 44 69 65 65 81 44 77 65 71 122 67 65 44 69 65 65 83 104 106 66 44 71 65 65 101 44 67 65 65 69 104 70 44 71 65 65 81 110 101 44 69 65 65 83 111 106 66 44 71 65 69 116 67 65 44 71 65 65 87 65 44 69 65 65 81 104 106 66 44 81 65 67 118 66 78 44 71 65 65 81 115 106 66 44 71 65 65 85 104 75 44 83 65 71 90 116 90 44 71 65 65 79 111 66 44 77 65 65 79 44 71 65 65 73 105 108 67 44 69 65 65 79 53 56 66 44 99 65 108 67 104 67 44 73 65 65 73 105 74 44 69 65 65 77 50 122 66 44 69 65 65 81 47 105 66 44 71 65 121 67 110 66 116 106 66 44 71 65 65 79 71 44 71 65 65 71 111 110 66 44 75 65 65 79 44 83 65 65 85 103 89 44 69 65 65 75 43 71 44 69 65 65 81 47 107 67 44 71 65 67 118 67 44 73 65 65 73 116 66 44 69 65 65 85 118 66 44 69 65 65 77 109 107 67 44 69 65 67 110 66 53 115 66 44 69 65 65 79 108 90 44 75 65 67 80 119 110 66 44 69 65 65 77 103 98 44 69 65 65 73 51 104 67 44 81 65 65 83 44 75 65 115 68 112 66 44 79 65 112 68 89 44 69 65 65 80 50 109 66 44 73 65 67 74 116 107 66 44 69 65 65 87 54 54 66 44 71 65 65 107 66 121 69 44 69 65 65 73 108 105 67 44 77 65 65 79 107 110 66 44 73 65 67 120 67 103 98 44 69 65 65 77 65 44 69 65 65 73 108 105 67 44 77 65 65 79 44 69 65 65 71 107 110 66 44 73 65 73 104 66 110 109 66 44 69 65 65 89 107 111 67 44 73 65 71 104 66 47 107 67 44 69 65 65 87 43 107 67 44 69 65 67 88 65 44 79 65 65 83 116 106 67 44 71 65 71 69 115 106 67 44 71 65 65 52 66 44 105 66 65 65 88 65 44 73 65 67 53 66 53 110 67 44 69 65 65 79 44 81 65 73 87 44 69 65 65 100 117 88 44 69 65 65 75 51 86 44 81 65 67 84 78 44 71 65 65 79 121 103 67 44 75 65 65 77 44 67 65 67 90 108 66 44 73 65 65 75 65 44 69 65 75 76 55 103 67 44 75 65 65 77 65 44 71 65 65 81 44 77 65 67 100 56 47 66 44 83 65 65 85 44 79 65 67 86 110 103 66 44 75 65 65 77 105 111 66 44 73 65 67 72 122 47 66 44 75 65 65 77 44 83 65 65 85 115 43 66 44 71 65 71 110 66 116 67 44 69 65 65 87 112 104 67 44 85 65 69 88 119 85 44 69 65 65 75 48 86 44 75 65 65 77 49 114 66 44 69 65 73 86 68 44 71 65 65 81 44 83 65 65 85 113 115 66 44 79 65 65 81 114 115 66 44 71 65 65 79 109 87 44 85 65 65 87 103 118 66 44 73 65 65 105 66 118 55 66 44 75 65 65 77 51 74 44 71 65 71 110 69 107 108 67 44 75 65 75 69 114 114 66 44 79 65 65 81 118 89 44 71 65 65 89 44 83 65 65 85 111 57 66 44 69 65 65 79 109 68 44 71 65 67 120 67 55 114 66 44 69 65 65 75 51 85 44 75 65 65 77 44 87 65 67 86 67 44 69 65 65 83 55 68 44 77 65 65 79 88 44 75 65 65 77 56 108 67 44 71 65 65 89 44 67 65 65 69 108 69 44 69 65 65 77 119 71 44 97 65 65 99 114 68 44 69 65 65 81 110 68 44 81 65 75 53 68 53 104 67 44 77 65 77 82 105 68 44 71 65 65 79 113 78 44 75 65 65 75 57 70 44 81 65 65 81 103 47 66 44 83 65 65 87 44 83 65 65 85 47 108 67 44 71 65 67 120 67 44 79 65 65 79 82 44 71 65 65 79 56 66 44 75 65 65 77 57 66 44 71 65 65 79 111 53 66 44 79 65 65 81 44 83 65 65 85 106 53 66 44 71 65 67 53 67 44 79 65 65 79 75 44 73 65 65 83 76 44 69 65 65 71 75 44 79 65 67 104 66 70 44 81 65 77 76 78 44 71 65 65 79 119 109 67 44 79 65 65 83 44 67 65 67 102 67 44 85 65 65 87 44 83 65 65 85 106 109 67 44 69 65 65 77 43 66 44 69 65 65 83 114 68 44 71 65 67 110 67 44 73 65 65 73 119 110 67 44 69 65 65 97 67 44 69 65 65 83 67 44 69 65 65 87 67 44 69 65 65 81 67 44 69 65 65 87 67 44 69 65 67 118 68 47 88 44 69 65 65 87 104 118 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 89 65 67 55 66 119 109 67 44 69 65 65 85 104 110 67 44 71 65 65 81 81 44 71 65 67 108 66 111 110 66 44 69 65 65 81 44 71 65 71 83 44 87 65 65 98 111 72 44 73 65 67 74 120 117 66 44 69 65 65 75 56 102 44 77 65 65 77 48 79 44 83 65 65 87 44 89 65 71 118 66 56 88 44 69 65 65 89 69 44 69 65 65 81 82 44 83 65 67 112 66 73 44 69 65 65 89 53 109 67 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 79 65 67 57 66 117 109 67 44 69 65 65 97 47 109 67 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 83 65 67 73 44 97 65 65 98 119 117 66 44 71 65 65 119 67 44 85 65 65 98 65 44 75 65 67 65 44 71 65 65 57 67 52 88 44 69 65 65 89 71 44 71 65 65 97 110 112 67 44 81 65 65 83 44 83 65 77 112 67 105 112 67 44 71 65 68 65 72 44 69 65 65 99 77 44 69 65 65 81 104 89 44 89 65 67 68 51 105 66 44 73 65 67 114 66 115 54 66 44 69 65 65 85 68 44 69 65 65 89 112 83 44 79 65 71 116 66 117 83 44 69 65 65 83 120 88 44 87 65 65 89 117 88 44 73 65 65 101 44 69 65 67 112 67 68 44 69 65 65 85 116 88 44 87 65 65 89 48 88 44 73 65 65 103 66 44 71 65 71 108 67 51 111 67 44 69 65 65 89 109 69 44 75 65 71 104 66 65 44 69 65 65 85 65 44 69 65 65 81 47 69 44 75 65 65 77 103 68 44 69 65 65 77 116 66 44 69 65 65 71 99 44 71 65 65 79 115 67 44 79 65 65 81 44 71 65 65 73 119 107 67 44 75 65 71 106 67 44 77 65 65 102 118 107 67 44 69 65 65 81 56 74 44 77 65 67 90 117 98 44 69 65 65 77 118 98 44 73 65 65 81 57 74 44 69 65 65 81 56 74 44 73 65 65 77 121 54 66 44 69 65 65 85 122 54 66 44 73 65 65 81 119 54 66 44 71 65 69 49 66 44 77 65 65 104 66 116 107 67 44 69 65 65 81 43 120 66 44 79 65 67 90 49 77 44 69 65 65 77 48 77 44 75 65 65 83 47 120 66 44 69 65 65 81 43 120 66 44 75 65 65 79 119 83 44 69 65 65 85 120 83 44 75 65 65 83 113 83 44 71 65 71 55 67 44 85 65 65 87 112 107 67 44 69 65 67 102 65 44 69 65 65 81 48 107 67 44 77 65 65 77 122 112 67 44 75 65 65 77 103 68 44 69 65 65 77 111 110 66 44 71 65 71 49 66 111 102 44 69 65 65 81 120 109 66 44 73 65 65 75 111 72 44 75 65 75 104 66 53 110 66 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 71 106 66 107 107 67 44 79 65 65 81 44 83 65 65 85 106 107 67 44 71 65 71 106 66 44 71 65 65 75 100 44 85 65 65 85 110 66 44 79 65 67 100 44 89 65 65 109 66 48 67 44 73 65 65 90 84 44 69 65 67 78 120 70 44 75 65 67 65 65 44 75 65 65 75 117 69 44 75 65 65 77 44 83 65 65 85 112 67 44 71 65 67 112 66 99 44 71 65 65 79 119 109 67 44 79 65 65 79 67 44 85 65 65 87 49 112 67 44 75 65 65 77 119 70 44 69 65 65 83 114 68 44 75 65 73 51 67 44 73 65 65 73 103 111 67 44 69 65 65 77 67 44 69 65 67 84 51 109 67 44 69 65 65 79 122 68 44 75 65 65 77 44 71 65 69 100 44 79 65 65 77 121 68 44 69 65 81 65 65 44 69 65 65 75 52 120 66 44 105 66 65 65 105 66 57 120 66 44 81 65 75 53 66 52 109 67 44 69 65 65 79 49 109 67 44 69 65 65 75 52 122 66 44 119 66 65 67 90 43 83 44 69 65 65 77 51 109 67 44 69 65 65 75 56 68 44 99 65 65 99 56 72 44 89 65 67 108 66 44 67 65 67 78 67 44 73 65 65 75 54 54 66 44 69 65 65 75 55 54 66 44 73 65 65 77 56 54 66 44 69 65 65 73 67 44 89 65 67 112 66 57 83 44 75 65 65 77 52 83 44 69 65 65 75 53 83 44 75 65 65 79 54 83 44 69 65 65 73 69 44 99 65 82 102 44 67 65 65 69 104 55 66 44 73 65 65 75 44 69 65 65 71 105 111 66 44 75 65 65 77 44 81 65 84 120 66 44 71 65 117 66 68 116 70 44 83 65 65 85 44 87 65 67 84 44 71 65 65 77 106 121 66 44 75 65 65 77 44 71 65 65 90 44 67 65 73 65 44 73 65 65 73 117 113 67 44 69 65 65 99 100 44 69 65 65 81 118 110 67 44 69 65 67 122 66 117 66 44 69 65 65 79 122 68 44 75 65 65 77 44 71 65 67 98 119 113 67 44 69 65 65 101 44 67 65 65 69 108 55 66 44 73 65 65 75 44 69 65 65 71 105 111 66 44 75 65 65 77 44 71 65 71 104 67 44 71 65 65 119 67 44 85 65 65 110 67 116 48 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 89 65 71 116 66 103 109 67 44 69 65 65 83 104 109 67 44 69 65 65 75 52 122 66 44 52 66 65 69 82 44 67 65 67 78 111 83 44 69 65 65 83 122 112 67 44 75 65 65 75 121 112 67 44 83 65 73 100 118 110 67 44 69 65 65 77 117 66 44 69 65 65 75 56 68 44 99 65 67 88 103 106 67 44 69 65 65 101 57 109 67 44 69 65 65 75 56 109 67 44 99 65 65 103 66 114 111 67 44 69 65 65 73 115 70 44 103 66 65 67 120 67 44 77 65 65 81 43 105 67 44 73 65 67 76 65 44 73 65 65 105 66 114 111 67 44 69 65 65 73 117 105 66 44 77 65 65 81 56 108 66 44 73 65 65 105 66 114 111 67 44 69 65 65 73 115 70 44 107 66 65 67 84 44 87 65 65 51 67 118 69 44 71 65 65 79 119 103 66 44 73 65 65 75 56 109 66 44 69 65 65 99 44 89 65 69 49 66 65 44 69 65 65 101 65 44 69 65 65 97 51 110 67 44 87 65 69 120 66 50 110 67 44 71 65 65 103 66 65 44 73 65 65 105 66 57 109 67 44 71 65 65 107 67 44 73 65 65 49 66 56 109 67 44 69 65 65 97 104 112 67 44 89 65 71 49 68 105 112 67 44 69 65 65 101 118 110 67 44 71 65 65 81 115 110 67 44 71 65 65 101 100 44 85 65 67 122 66 110 54 66 44 75 65 65 79 114 77 44 71 65 65 79 119 103 66 44 73 65 65 75 56 109 66 44 69 65 65 99 44 107 66 65 65 107 66 44 71 65 67 104 69 67 44 69 65 65 97 106 84 44 77 65 65 81 116 48 66 44 71 65 65 79 119 103 66 44 73 65 65 75 56 109 66 44 69 65 65 99 44 109 66 65 65 109 66 44 73 65 75 112 69 44 77 65 65 79 44 67 65 67 78 106 55 66 44 73 65 65 75 109 54 66 44 69 65 65 79 110 54 66 44 73 65 65 77 107 55 66 44 69 65 65 97 108 55 66 44 73 65 65 77 114 77 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 97 65 65 97 44 71 65 67 112 69 56 122 66 44 75 65 65 77 107 83 44 69 65 65 79 108 83 44 75 65 65 79 105 84 44 69 65 65 97 106 84 44 75 65 65 79 116 48 66 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 44 99 65 65 99 44 77 65 99 49 69 56 109 67 44 97 65 65 99 44 87 65 67 98 44 79 65 65 79 118 113 67 44 75 65 65 75 121 69 44 73 65 65 75 44 87 65 67 104 66 44 73 65 65 73 56 108 67 44 69 65 65 101 118 113 67 44 75 65 65 75 117 113 67 44 97 65 69 120 66 44 77 65 65 81 65 44 71 65 65 50 68 44 87 65 65 51 67 116 110 67 44 71 65 65 79 119 103 66 44 73 65 65 75 56 109 66 44 69 65 65 99 44 89 65 67 106 68 65 44 69 65 65 101 65 44 69 65 65 97 65 44 97 65 71 55 66 44 79 65 65 79 65 44 71 65 65 103 66 47 105 67 44 79 65 77 49 66 118 69 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 107 48 66 44 87 65 65 89 44 99 65 65 101 68 44 85 65 65 87 44 101 65 65 105 66 44 83 65 65 85 110 100 44 69 65 65 81 107 71 44 71 65 67 118 70 44 73 65 65 73 106 83 44 69 65 65 77 44 103 66 65 65 107 66 105 83 44 69 65 69 53 66 116 101 44 71 65 65 79 71 44 71 65 65 73 105 89 44 71 65 65 87 44 83 65 65 85 106 90 44 71 65 67 47 66 44 79 65 65 79 54 100 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 121 68 44 69 65 65 77 52 88 44 69 65 65 81 106 90 44 71 65 71 53 67 44 73 65 65 73 103 111 67 44 69 65 79 74 44 71 65 78 75 51 111 67 44 69 65 65 85 103 67 44 71 65 67 100 50 109 67 44 69 65 65 77 51 109 67 44 69 65 67 117 66 44 73 65 65 108 66 65 44 69 65 65 75 108 67 44 87 65 67 104 66 54 111 67 44 69 65 65 77 51 109 67 44 69 65 65 75 52 76 44 107 66 65 71 67 112 74 44 73 65 65 82 55 68 44 69 65 67 74 44 79 65 65 79 103 111 67 44 69 65 65 77 65 44 69 65 65 75 55 111 66 44 71 65 65 83 57 100 44 69 65 65 77 52 88 44 71 65 71 55 66 43 117 66 44 69 65 67 74 65 44 69 65 65 73 75 44 83 65 67 70 110 55 66 44 69 65 65 89 56 54 66 44 69 65 65 73 69 44 89 65 65 86 108 111 67 44 69 65 67 80 107 78 44 69 65 65 77 108 78 44 69 65 65 77 103 111 67 44 69 65 65 73 67 44 97 65 73 106 66 53 109 67 44 69 65 65 77 52 88 44 71 65 65 87 106 90 44 71 65 69 104 66 105 90 44 69 65 65 81 106 90 44 69 65 65 75 115 67 44 85 65 65 85 110 66 44 87 65 85 53 66 78 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 44 77 65 65 79 44 81 65 65 85 44 83 65 65 85 54 68 44 69 65 65 73 109 90 44 71 65 67 55 67 116 101 44 71 65 65 79 117 121 66 44 83 65 65 85 106 85 44 71 65 65 83 52 80 44 71 65 65 99 47 118 66 44 71 65 65 81 117 120 66 44 99 65 67 47 67 44 83 65 65 85 108 118 66 44 69 65 65 77 109 116 66 44 71 65 67 102 44 71 65 65 75 65 44 69 65 73 74 44 79 65 72 65 65 44 69 65 65 87 68 44 71 65 65 81 108 116 66 44 69 65 65 77 56 100 44 71 65 71 108 66 52 79 44 71 65 65 85 49 111 66 44 75 65 65 77 109 112 66 44 71 65 67 116 66 51 116 66 44 71 65 65 81 81 44 71 65 65 79 119 117 66 44 87 65 65 89 49 81 44 71 65 65 83 44 75 65 67 112 67 113 80 44 77 65 81 76 51 116 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 65 69 109 109 67 44 79 65 65 81 44 83 65 65 85 67 44 77 65 65 79 44 83 65 65 87 44 83 65 65 85 106 110 67 44 69 65 65 77 47 66 44 71 65 67 108 69 115 66 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 107 122 66 44 81 65 65 83 44 81 65 65 85 47 122 66 44 69 65 67 110 66 103 88 44 81 65 65 83 47 89 44 69 65 67 84 105 112 67 44 71 65 65 73 44 81 65 65 85 108 110 67 44 71 65 67 90 44 83 65 65 85 109 110 67 44 69 65 65 99 67 44 71 65 71 49 66 55 110 67 44 71 65 65 79 71 44 71 65 65 73 48 110 67 44 71 65 65 97 44 83 65 65 85 116 84 44 69 65 65 81 122 118 66 44 71 65 67 122 67 44 73 65 65 73 109 89 44 69 65 65 89 120 98 44 85 65 65 85 110 66 44 83 65 65 89 115 110 67 44 71 65 65 107 67 44 107 66 65 65 88 114 84 44 71 65 67 53 68 49 67 44 69 65 65 81 43 86 44 75 65 65 54 66 44 73 65 65 88 114 84 44 73 65 65 54 66 44 73 65 65 86 122 118 66 44 69 65 65 105 66 44 83 65 65 87 44 85 65 69 49 69 44 79 65 65 79 107 89 44 69 65 65 81 106 103 66 44 75 65 65 77 44 83 65 65 85 121 68 44 69 65 65 77 57 66 44 69 65 65 77 111 71 44 71 65 67 49 67 44 73 65 65 73 55 70 44 69 65 69 74 44 79 65 65 75 84 44 69 65 65 85 103 67 44 71 65 71 121 66 44 73 65 65 104 67 113 110 67 44 69 65 65 83 106 113 67 44 81 65 65 83 44 83 65 67 120 66 52 67 44 69 65 65 77 44 81 65 65 85 67 44 71 65 67 104 66 68 44 69 65 65 75 55 68 44 83 65 65 83 52 72 44 103 66 65 65 105 66 44 83 65 65 87 57 68 44 71 65 73 114 66 44 73 65 65 108 66 68 44 69 65 65 75 108 67 44 85 65 67 84 87 44 69 65 65 77 117 66 44 69 65 65 75 43 68 44 103 66 65 73 74 114 66 44 75 65 65 75 111 117 66 44 73 65 67 88 57 119 66 44 69 65 65 75 103 104 66 44 75 65 65 77 44 83 65 65 87 47 103 66 44 71 65 65 81 120 66 44 69 65 65 75 44 83 65 65 87 119 66 44 71 65 67 57 67 68 44 69 65 65 75 103 104 66 44 75 65 65 77 44 83 65 65 87 47 103 66 44 71 65 65 81 120 66 44 69 65 65 75 44 83 65 65 87 119 66 44 71 65 67 57 67 120 66 44 69 65 65 75 44 83 65 65 87 119 66 44 85 65 73 68 117 67 44 73 65 65 86 56 66 44 69 65 71 78 57 69 44 71 65 65 79 119 103 66 44 73 65 65 75 104 103 66 44 69 65 65 77 57 66 44 69 65 65 77 109 122 66 44 71 65 71 120 66 55 120 66 44 71 65 65 79 115 103 66 44 77 65 65 79 57 102 44 69 65 65 77 57 66 44 69 65 65 77 111 71 44 69 65 65 79 43 115 66 44 73 65 67 104 67 110 122 66 44 69 65 65 77 117 101 44 69 65 65 89 115 88 44 79 65 65 83 118 120 66 44 69 65 65 87 105 97 44 81 65 77 53 67 106 100 44 71 65 65 79 115 66 44 75 65 65 77 44 67 65 67 90 44 89 65 67 65 44 87 65 67 65 44 101 65 67 65 44 89 65 67 65 44 99 65 67 65 44 89 65 67 69 44 83 65 65 85 54 68 44 69 65 65 73 122 71 44 71 65 67 104 66 115 66 44 71 65 65 79 71 44 71 65 65 73 122 66 44 71 65 65 83 44 83 65 65 85 121 66 44 71 65 67 55 66 44 79 65 65 79 112 68 44 75 65 65 75 109 110 66 44 71 65 65 73 120 108 66 44 69 65 65 77 121 66 44 77 65 79 120 66 72 44 71 65 65 79 71 44 71 65 65 71 109 67 44 79 65 65 81 44 67 65 69 106 66 113 49 66 44 75 65 65 77 44 83 65 65 85 120 84 44 69 65 65 79 57 70 44 69 65 65 77 108 101 44 71 65 67 53 66 44 79 65 65 79 112 68 44 75 65 65 75 109 110 66 44 71 65 65 73 67 44 69 65 65 79 44 75 65 65 77 57 70 44 69 65 65 77 108 101 44 73 65 69 112 67 50 110 67 44 79 65 65 81 44 83 65 65 85 51 106 66 44 69 65 65 79 104 107 66 44 71 65 67 120 66 44 79 65 65 79 112 68 44 75 65 65 75 119 110 66 44 73 65 65 75 74 44 69 65 65 79 44 75 65 65 77 104 107 66 44 73 65 71 47 66 52 110 67 44 83 65 65 85 44 83 65 65 85 57 110 67 44 69 65 65 85 107 107 66 44 69 65 65 79 57 70 44 69 65 65 77 108 101 44 71 65 67 49 67 44 79 65 65 79 112 68 44 75 65 65 75 109 110 66 44 71 65 65 73 67 44 69 65 65 79 108 107 66 44 69 65 65 85 111 101 44 69 65 65 77 108 101 44 73 65 69 120 67 54 110 67 44 87 65 65 89 44 83 65 65 85 47 110 67 44 69 65 65 85 107 107 66 44 69 65 65 79 104 107 66 44 71 65 71 116 67 44 79 65 65 52 66 44 73 65 65 114 66 115 66 44 85 65 65 85 110 66 44 79 65 67 104 66 118 68 44 75 65 65 75 119 110 66 44 73 65 65 75 116 107 66 44 69 65 65 85 44 77 65 67 112 66 108 68 44 75 65 65 75 119 110 66 44 73 65 65 75 74 44 69 65 65 79 108 107 66 44 71 65 65 89 44 75 65 65 77 69 44 73 65 71 114 67 56 110 67 44 77 65 65 79 44 83 65 65 85 67 44 69 65 65 81 67 44 71 65 67 120 66 44 79 65 65 79 112 114 67 44 75 65 65 75 117 116 66 44 87 65 65 89 52 100 44 71 65 65 83 51 100 44 87 65 65 89 52 100 44 71 65 65 83 68 44 77 65 73 120 68 108 111 67 44 71 65 65 79 115 66 44 75 65 67 78 44 119 76 65 69 52 68 52 68 44 77 65 65 79 44 75 65 67 110 69 44 83 65 65 85 67 44 69 65 65 73 49 69 44 71 65 71 98 84 44 71 65 65 79 71 44 71 65 65 73 77 44 71 65 65 83 44 83 65 65 85 52 100 44 69 65 65 77 108 101 44 71 65 67 110 67 44 79 65 65 48 66 44 69 65 65 110 66 115 66 44 85 65 65 85 110 66 44 79 65 67 104 66 118 68 44 75 65 65 75 109 110 66 44 71 65 65 73 122 106 66 44 69 65 65 77 44 75 65 65 77 52 100 44 69 65 65 77 108 101 44 71 65 67 51 66 112 68 44 75 65 65 75 105 111 66 44 81 65 65 83 118 107 66 44 77 65 89 108 66 44 73 65 65 73 50 110 67 44 71 65 65 81 44 115 68 65 77 90 112 111 67 44 71 65 65 79 113 111 67 44 77 65 65 81 44 83 65 65 85 108 111 67 44 69 65 65 73 68 44 71 65 67 53 66 44 73 65 65 73 121 102 44 69 65 65 75 47 80 44 69 65 65 77 121 52 66 44 69 65 85 102 44 71 65 82 119 66 44 105 66 65 65 90 110 111 67 44 73 65 67 88 121 102 44 69 65 65 77 120 102 44 69 65 65 73 68 44 71 65 67 86 65 44 69 65 65 85 67 44 69 65 67 86 65 44 69 65 65 75 119 102 44 71 65 75 65 118 104 66 44 69 65 65 89 43 66 44 71 65 97 108 66 44 79 65 82 65 121 80 44 69 65 65 79 118 83 44 71 65 65 77 71 44 75 65 65 77 105 69 44 85 65 65 87 44 73 65 67 57 66 52 109 67 44 69 65 65 81 44 87 65 67 80 44 79 65 65 79 108 111 67 44 69 65 65 71 122 67 44 77 65 65 79 119 67 44 71 65 65 87 110 68 44 75 65 65 77 54 83 44 69 65 65 75 110 83 44 79 65 65 81 74 44 71 65 65 77 71 44 75 65 65 77 105 69 44 101 65 73 116 68 115 68 44 75 65 65 79 53 69 44 69 65 65 71 52 69 44 75 65 65 79 53 69 44 69 65 65 71 52 69 44 77 65 65 81 47 69 44 71 65 65 79 43 69 44 79 65 69 108 67 115 106 67 44 71 65 71 82 114 111 67 44 71 65 65 79 115 111 67 44 85 65 65 89 44 83 65 65 85 67 44 71 65 67 118 66 65 44 69 65 67 74 118 111 67 44 71 65 65 79 52 99 44 89 65 69 80 53 99 44 71 65 65 79 111 87 44 79 65 65 79 44 73 65 71 104 66 112 87 44 71 65 65 79 43 67 44 81 65 65 85 68 44 77 65 65 77 67 44 81 65 67 118 66 47 67 44 71 65 65 79 119 111 67 44 85 65 65 89 51 112 66 44 75 65 65 75 67 44 77 65 67 120 66 57 101 44 71 65 65 79 79 44 83 65 65 87 65 44 71 65 67 108 66 80 44 71 65 65 79 53 66 44 87 65 65 97 65 44 69 65 67 112 66 52 66 44 71 65 65 79 120 66 44 83 65 65 87 65 44 69 65 67 108 66 119 66 44 71 65 65 79 52 100 44 85 65 65 89 65 44 69 65 67 110 66 53 100 44 71 65 65 79 116 66 44 75 65 65 79 109 66 44 69 65 69 100 71 44 71 65 65 79 107 111 66 44 73 65 65 77 68 44 75 65 65 75 67 44 73 65 69 108 66 108 111 66 44 71 65 65 79 121 111 67 44 85 65 65 89 44 83 65 65 85 112 113 67 44 71 65 75 53 66 44 73 65 65 73 75 44 69 65 65 79 115 66 44 71 65 65 79 116 66 44 75 65 65 77 76 44 71 65 67 120 66 44 79 65 65 107 66 44 87 65 65 84 75 44 71 65 65 56 66 44 87 65 65 84 65 44 75 65 75 53 66 103 113 67 44 77 65 65 79 114 113 67 44 69 65 65 77 103 120 66 44 87 65 65 89 104 120 66 44 75 65 71 53 66 50 66 44 71 65 65 79 50 111 67 44 75 65 65 79 44 83 65 65 85 114 112 67 44 71 65 67 118 66 44 79 65 65 101 44 77 65 65 82 65 44 69 65 67 78 44 73 65 67 69 65 44 69 65 65 79 44 73 65 65 75 56 68 44 81 65 65 83 103 108 67 44 71 65 65 79 44 79 65 107 66 84 44 109 66 65 65 88 81 44 81 65 65 121 66 65 44 79 65 65 79 67 44 75 65 67 51 67 68 44 79 65 65 81 44 83 65 65 85 44 71 65 65 73 44 87 65 67 114 66 44 79 65 65 79 53 111 67 44 75 65 79 84 44 73 65 71 67 56 111 67 44 71 65 65 85 104 115 67 44 71 65 65 79 107 68 44 79 65 71 106 66 43 111 67 44 71 65 65 75 106 115 67 44 71 65 65 79 107 115 67 44 69 65 119 66 98 44 79 65 116 66 65 104 112 67 44 71 65 65 79 105 112 67 44 87 65 65 97 44 83 65 65 85 114 109 67 44 71 65 83 55 66 44 79 65 82 75 57 70 44 71 65 65 79 107 115 67 44 73 65 65 77 104 112 67 44 75 65 67 106 66 108 68 44 71 65 65 79 107 115 67 44 69 65 65 73 68 44 73 65 71 80 110 109 67 44 71 65 65 81 57 70 44 71 65 65 79 107 68 44 83 65 65 87 65 44 75 65 67 57 66 108 68 44 71 65 65 79 107 68 44 79 65 65 83 56 111 67 44 73 65 71 86 57 111 67 44 73 65 77 105 66 44 111 66 65 65 98 104 68 44 73 65 67 88 70 44 71 65 65 79 107 68 44 79 65 65 83 108 68 44 71 65 65 79 107 115 67 44 69 65 65 73 104 112 67 44 73 65 77 114 66 65 34 44 34 102 105 108 101 34 58 34 106 113 117 101 114 121 45 51 46 55 46 48 46 109 105 110 46 106 115 34 125] ] -{ #category : #accessing } +{ #category : 'accessing' } JQuery3DeploymentMetadataLibrary >> selectorsToInclude [ diff --git a/source/Willow-Core/JQuery3DevelopmentMetadataLibrary.class.st b/source/Willow-Core/JQuery3DevelopmentMetadataLibrary.class.st index 42ec1b5d..12127cab 100644 --- a/source/Willow-Core/JQuery3DevelopmentMetadataLibrary.class.st +++ b/source/Willow-Core/JQuery3DevelopmentMetadataLibrary.class.st @@ -2,12 +2,14 @@ I'm a WALibrary serving the files in source form, suitable for development " Class { - #name : #JQuery3DevelopmentMetadataLibrary, - #superclass : #JQuery3MetadataLibrary, - #category : #'Willow-Core-Libraries' + #name : 'JQuery3DevelopmentMetadataLibrary', + #superclass : 'JQuery3MetadataLibrary', + #category : 'Willow-Core-Libraries', + #package : 'Willow-Core', + #tag : 'Libraries' } -{ #category : #'uploaded metadata' } +{ #category : 'uploaded metadata' } JQuery3DevelopmentMetadataLibrary >> jquery370Js [ ^ WAFileLibraryResource @@ -17,7 +19,7 @@ JQuery3DevelopmentMetadataLibrary >> jquery370Js [ contents: (GRDelayedSend receiver: self selector: #jquery370JsContent) ] -{ #category : #uploaded } +{ #category : 'uploaded' } JQuery3DevelopmentMetadataLibrary >> jquery370JsContent [ ^ '/*! * jQuery JavaScript Library v3.7.0 @@ -10726,7 +10728,7 @@ return jQuery; ' ] -{ #category : #accessing } +{ #category : 'accessing' } JQuery3DevelopmentMetadataLibrary >> selectorsToInclude [ diff --git a/source/Willow-Core/JQuery3MetadataLibrary.class.st b/source/Willow-Core/JQuery3MetadataLibrary.class.st index 103da96c..85b67156 100644 --- a/source/Willow-Core/JQuery3MetadataLibrary.class.st +++ b/source/Willow-Core/JQuery3MetadataLibrary.class.st @@ -2,30 +2,32 @@ I'm an asbtract WALibrary serving the files in source form " Class { - #name : #JQuery3MetadataLibrary, - #superclass : #WADeploymentAwareFileMetadataLibrary, - #category : #'Willow-Core-Libraries' + #name : 'JQuery3MetadataLibrary', + #superclass : 'WADeploymentAwareFileMetadataLibrary', + #category : 'Willow-Core-Libraries', + #package : 'Willow-Core', + #tag : 'Libraries' } -{ #category : #Accessing } +{ #category : 'Accessing' } JQuery3MetadataLibrary class >> forDeployment [ ^ JQuery3DeploymentMetadataLibrary ] -{ #category : #Accessing } +{ #category : 'Accessing' } JQuery3MetadataLibrary class >> forDevelopment [ ^ JQuery3DevelopmentMetadataLibrary ] -{ #category : #Accessing } +{ #category : 'Accessing' } JQuery3MetadataLibrary class >> libraryName [ ^ 'jQuery' ] -{ #category : #Accessing } +{ #category : 'Accessing' } JQuery3MetadataLibrary class >> version [ ^ '3.7.0' diff --git a/source/Willow-Core/JQuery3OnlineLibrary.class.st b/source/Willow-Core/JQuery3OnlineLibrary.class.st index 4933bd0a..7a3c937f 100644 --- a/source/Willow-Core/JQuery3OnlineLibrary.class.st +++ b/source/Willow-Core/JQuery3OnlineLibrary.class.st @@ -2,12 +2,14 @@ I'm a WALibrary serving the files from the official CDN. " Class { - #name : #JQuery3OnlineLibrary, - #superclass : #WAOnlineLibrary, - #category : #'Willow-Core-Libraries' + #name : 'JQuery3OnlineLibrary', + #superclass : 'WAOnlineLibrary', + #category : 'Willow-Core-Libraries', + #package : 'Willow-Core', + #tag : 'Libraries' } -{ #category : #Updating } +{ #category : 'Updating' } JQuery3OnlineLibrary >> updateRoot: aRoot [ aRoot javascript @@ -15,7 +17,7 @@ JQuery3OnlineLibrary >> updateRoot: aRoot [ anonymousSubResourceIntegrity: 'sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=' ] -{ #category : #Accessing } +{ #category : 'Accessing' } JQuery3OnlineLibrary >> version [ ^ '3.7.0' diff --git a/source/Willow-Core/JQueryClass.extension.st b/source/Willow-Core/JQueryClass.extension.st index 89182f6d..b0b1baff 100644 --- a/source/Willow-Core/JQueryClass.extension.st +++ b/source/Willow-Core/JQueryClass.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #JQueryClass } +Extension { #name : 'JQueryClass' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } JQueryClass >> cssSelector: aCssSelector [ ^ self expression: aCssSelector greaseString diff --git a/source/Willow-Core/JSConcatenateBefore.class.st b/source/Willow-Core/JSConcatenateBefore.class.st index d6093a2a..01cdf971 100644 --- a/source/Willow-Core/JSConcatenateBefore.class.st +++ b/source/Willow-Core/JSConcatenateBefore.class.st @@ -1,10 +1,12 @@ Class { - #name : #JSConcatenateBefore, - #superclass : #JSStatement, - #category : #'Willow-Core-WebInteraction' + #name : 'JSConcatenateBefore', + #superclass : 'JSStatement', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #printing } +{ #category : 'printing' } JSConcatenateBefore >> javascriptContentOn: aStream [ aStream diff --git a/source/Willow-Core/JSObject.extension.st b/source/Willow-Core/JSObject.extension.st index c11574b7..fb6d5075 100644 --- a/source/Willow-Core/JSObject.extension.st +++ b/source/Willow-Core/JSObject.extension.st @@ -1,13 +1,13 @@ -Extension { #name : #JSObject } +Extension { #name : 'JSObject' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } JSObject >> constants [ "This method is intended to be private." ^ Willow constants ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } JSObject >> willow [ ^ (WillowJavascriptNamespace context: self renderContext) diff --git a/source/Willow-Core/JSStream.extension.st b/source/Willow-Core/JSStream.extension.st index b61487dd..b638c65f 100644 --- a/source/Willow-Core/JSStream.extension.st +++ b/source/Willow-Core/JSStream.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #JSStream } +Extension { #name : 'JSStream' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } JSStream >> << aJavascriptElement [ self javascript: aJavascriptElement. diff --git a/source/Willow-Core/LabeledWebView.class.st b/source/Willow-Core/LabeledWebView.class.st index d99525dc..8cf319c2 100644 --- a/source/Willow-Core/LabeledWebView.class.st +++ b/source/Willow-Core/LabeledWebView.class.st @@ -2,17 +2,19 @@ I represent a label bound to some field. " Class { - #name : #LabeledWebView, - #superclass : #WAPainter, + #name : 'LabeledWebView', + #superclass : 'WAPainter', #instVars : [ 'phrasingContentProvider', 'fieldWebView', 'commandToComponent' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } LabeledWebView class >> displaying: thePhrasingContent boundTo: aFieldWebView applying: aComponentCommand [ ^ self @@ -21,7 +23,7 @@ LabeledWebView class >> displaying: thePhrasingContent boundTo: aFieldWebView ap applying: aComponentCommand ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } LabeledWebView class >> obtainingContentFrom: aNyladicBlock boundTo: aFieldWebView applying: aComponentCommand [ ^ self new @@ -30,13 +32,13 @@ LabeledWebView class >> obtainingContentFrom: aNyladicBlock boundTo: aFieldWebVi applying: aComponentCommand asWebComponentCommand ] -{ #category : #accessing } +{ #category : 'accessing' } LabeledWebView >> fieldWebView [ ^fieldWebView ] -{ #category : #initialization } +{ #category : 'initialization' } LabeledWebView >> initializeObtainingContentFrom: aNyladicBlock boundTo: aFieldWebView applying: aComponentCommand [ phrasingContentProvider := aNyladicBlock. @@ -44,13 +46,13 @@ LabeledWebView >> initializeObtainingContentFrom: aNyladicBlock boundTo: aFieldW commandToComponent := aComponentCommand ] -{ #category : #'private-accessing' } +{ #category : 'private-accessing' } LabeledWebView >> phrasingContent [ ^ phrasingContentProvider value ] -{ #category : #rendering } +{ #category : 'rendering' } LabeledWebView >> renderContentOn: aCanvas [ | fieldIdentifier | diff --git a/source/Willow-Core/LinkWebView.class.st b/source/Willow-Core/LinkWebView.class.st index 9a5b597d..e13e299a 100644 --- a/source/Willow-Core/LinkWebView.class.st +++ b/source/Willow-Core/LinkWebView.class.st @@ -2,17 +2,19 @@ I'm an anchor acting as a push button, capable of triggering actions by AJAX " Class { - #name : #LinkWebView, - #superclass : #WAPainter, + #name : 'LinkWebView', + #superclass : 'WAPainter', #instVars : [ 'commandToComponent', 'interactionInterpreter', 'label' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } LinkWebView class >> asynchronicLabeled: aRenderable applying: aComponentCommand [ | linkView | @@ -22,20 +24,20 @@ LinkWebView class >> asynchronicLabeled: aRenderable applying: aComponentCommand ^ linkView ] -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } LinkWebView class >> labeled: aLabel applying: aComponentCommand [ ^ self new initializeLabeled: aLabel applying: aComponentCommand asWebComponentCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } LinkWebView class >> synchronicLabeled: aRenderable applying: aComponentCommand [ "We send the private message to ensure that all instances are declared as either synchronic or asynchronic" ^ self labeled: aRenderable applying: aComponentCommand ] -{ #category : #initialization } +{ #category : 'initialization' } LinkWebView >> initializeLabeled: aLabel applying: aComponentCommand [ label := aLabel. @@ -43,13 +45,13 @@ LinkWebView >> initializeLabeled: aLabel applying: aComponentCommand [ interactionInterpreter := EventInterpreterDispatcher defaultingToClick ] -{ #category : #configuring } +{ #category : 'configuring' } LinkWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } LinkWebView >> renderContentOn: aCanvas [ aCanvas anchor diff --git a/source/Willow-Core/ListItemWebView.class.st b/source/Willow-Core/ListItemWebView.class.st index 347d8305..a93b27fe 100644 --- a/source/Willow-Core/ListItemWebView.class.st +++ b/source/Willow-Core/ListItemWebView.class.st @@ -2,23 +2,25 @@ I represent a list item including command support. " Class { - #name : #ListItemWebView, - #superclass : #WAPainter, + #name : 'ListItemWebView', + #superclass : 'WAPainter', #instVars : [ 'commandToComponent', 'list', 'item' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ListItemWebView class >> itemizing: anObject containedIn: aList applying: aComponentCommand [ ^ self new initializeItemizing: anObject containedIn: aList applying: aComponentCommand asWebComponentCommand ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } ListItemWebView >> initializeItemizing: anObject containedIn: aList applying: aComponentCommand [ item := anObject. @@ -26,7 +28,7 @@ ListItemWebView >> initializeItemizing: anObject containedIn: aList applying: aC commandToComponent := aComponentCommand ] -{ #category : #rendering } +{ #category : 'rendering' } ListItemWebView >> renderContentOn: aCanvas [ aCanvas listItem with: (list labelForOption: item) applying: commandToComponent diff --git a/source/Willow-Core/ListLabelingCommand.class.st b/source/Willow-Core/ListLabelingCommand.class.st index 11fed2a3..93ec3bd7 100644 --- a/source/Willow-Core/ListLabelingCommand.class.st +++ b/source/Willow-Core/ListLabelingCommand.class.st @@ -2,27 +2,29 @@ Command to configure how to render elements in a list " Class { - #name : #ListLabelingCommand, - #superclass : #WebComponentCommand, + #name : 'ListLabelingCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'renderingBlock' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } ListLabelingCommand class >> with: aRenderingBlock [ ^ self new initializeWith: aRenderingBlock ] -{ #category : #processing } +{ #category : 'processing' } ListLabelingCommand >> applyTo: aListComponent on: aCanvas [ aListComponent labels: renderingBlock ] -{ #category : #initialization } +{ #category : 'initialization' } ListLabelingCommand >> initializeWith: aRenderingBlock [ renderingBlock := aRenderingBlock diff --git a/source/Willow-Core/LoadingNotificationCommand.class.st b/source/Willow-Core/LoadingNotificationCommand.class.st index 2506b7b2..663471d5 100644 --- a/source/Willow-Core/LoadingNotificationCommand.class.st +++ b/source/Willow-Core/LoadingNotificationCommand.class.st @@ -2,15 +2,17 @@ I'm a WebInteractionCommand that displays a Loading... notification while an AJAX call is beign executed. " Class { - #name : #LoadingNotificationCommand, - #superclass : #WebInteractionCommand, + #name : 'LoadingNotificationCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'asynchronousCallCustomization' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } LoadingNotificationCommand class >> displaying: aWebView applying: aComponentCommand [ ^ self @@ -18,19 +20,19 @@ LoadingNotificationCommand class >> displaying: aWebView applying: aComponentCom then: self instructionToCleanNotificationSection ] -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } LoadingNotificationCommand class >> executing: aPreviousAction then: aFinalizationAction [ ^ self new initializeExecuting: aPreviousAction then: aFinalizationAction ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } LoadingNotificationCommand class >> instructionToCleanNotificationSection [ ^ [ :aCanvas | ( self notificationSectionOn: aCanvas ) html: [ :aSubCanvas | ] ] ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } LoadingNotificationCommand class >> instructionToDisplay: aWebView applying: aComponentCommand [ ^ [ :aCanvas | @@ -46,13 +48,13 @@ LoadingNotificationCommand class >> instructionToDisplay: aWebView applying: aCo ] ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } LoadingNotificationCommand class >> notificationSectionOn: aCanvas [ ^ aCanvas jQuery id: Constants >> #willow >> #notificationSectionName ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } LoadingNotificationCommand class >> onPageTopWithClasses: aCssClassCollection [ ^ self @@ -60,7 +62,7 @@ LoadingNotificationCommand class >> onPageTopWithClasses: aCssClassCollection [ applying: ( ComponentClassificationCommand toStyleWithAll: aCssClassCollection ) ] -{ #category : #initialization } +{ #category : 'initialization' } LoadingNotificationCommand >> initializeExecuting: aPreviousAction then: aFinalizationAction [ asynchronousCallCustomization := [ :ajax :canvas | @@ -69,25 +71,25 @@ LoadingNotificationCommand >> initializeExecuting: aPreviousAction then: aFinali ] ] -{ #category : #accessing } +{ #category : 'accessing' } LoadingNotificationCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } LoadingNotificationCommand >> priorityActions [ ^ Array with: asynchronousCallCustomization ] -{ #category : #testing } +{ #category : 'testing' } LoadingNotificationCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } LoadingNotificationCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/MultipleSelectionListBoxWebView.class.st b/source/Willow-Core/MultipleSelectionListBoxWebView.class.st index 0dd9ba6f..8e7afb0e 100644 --- a/source/Willow-Core/MultipleSelectionListBoxWebView.class.st +++ b/source/Willow-Core/MultipleSelectionListBoxWebView.class.st @@ -2,8 +2,8 @@ I'm a list box, that allows the user to select one or more items from a list contained within a static, multiple line text box. The user clicks inside the box on an item to select it. " Class { - #name : #MultipleSelectionListBoxWebView, - #superclass : #WAPainter, + #name : 'MultipleSelectionListBoxWebView', + #superclass : 'WAPainter', #instVars : [ 'availableElements', 'chosenElements', @@ -12,16 +12,18 @@ Class { 'commandToComponent', 'identifierAssigner' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } MultipleSelectionListBoxWebView class >> applying: aCommandToComponent [ ^self new initializeApplying: aCommandToComponent asWebComponentCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } MultipleSelectionListBoxWebView class >> displayingAtOnce: aNumberOfElements applying: aCommandComponent [ AssertionChecker enforce: [ aNumberOfElements > 1 ] because: 'A list box must display more than one element'. @@ -29,64 +31,64 @@ MultipleSelectionListBoxWebView class >> displayingAtOnce: aNumberOfElements app ^ self applying: (SetComponentSizeCommand setting: aNumberOfElements) + aCommandComponent ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> allowAnyOf: anElementCollection [ availableElements := anElementCollection. self chooseAllIn: chosenElements ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> allowsAnySatisfying: aMatchBlock [ ^availableElements anySatisfy: aMatchBlock ] -{ #category : #configuring } +{ #category : 'configuring' } MultipleSelectionListBoxWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> chooseAll [ chosenElements := availableElements. self notifyInterested ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> chooseAllIn: anElementCollection [ self chooseAllMatching: [ :available | anElementCollection includes: available ] ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> chooseAllMatching: aMonadycBlock [ chosenElements := availableElements select: aMonadycBlock. self notifyInterested ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> currentSelection [ ^chosenElements ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> disallowAll [ self allowAnyOf: #() ] -{ #category : #accessing } +{ #category : 'accessing' } MultipleSelectionListBoxWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } MultipleSelectionListBoxWebView >> initializeApplying: aCommandToComponent [ interested := Set new. @@ -96,25 +98,25 @@ MultipleSelectionListBoxWebView >> initializeApplying: aCommandToComponent [ self disallowAll ] -{ #category : #'Multiple Selection-API' } +{ #category : 'Multiple Selection-API' } MultipleSelectionListBoxWebView >> notifyChangesTo: aSupervisor [ interested add: aSupervisor ] -{ #category : #private } +{ #category : 'private' } MultipleSelectionListBoxWebView >> notifyInterested [ interested do: [ :anInterested | anInterested changeNotifiedBy: self ] ] -{ #category : #configuring } +{ #category : 'configuring' } MultipleSelectionListBoxWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } MultipleSelectionListBoxWebView >> renderContentOn: aCanvas [ | select | diff --git a/source/Willow-Core/NaturalNumberCodec.class.st b/source/Willow-Core/NaturalNumberCodec.class.st index 7e6976bd..42151b33 100644 --- a/source/Willow-Core/NaturalNumberCodec.class.st +++ b/source/Willow-Core/NaturalNumberCodec.class.st @@ -2,18 +2,20 @@ I'm an encoder/decoder of natural numbers " Class { - #name : #NaturalNumberCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'NaturalNumberCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } NaturalNumberCodec >> canCreate: anObject [ ^anObject isInteger and: [anObject positive] ] -{ #category : #converting } +{ #category : 'converting' } NaturalNumberCodec >> decode: aString [ | number | @@ -28,7 +30,7 @@ NaturalNumberCodec >> decode: aString [ ^ number ] -{ #category : #converting } +{ #category : 'converting' } NaturalNumberCodec >> encode: aNaturalNumber [ ^aNaturalNumber greaseString diff --git a/source/Willow-Core/NullCodec.class.st b/source/Willow-Core/NullCodec.class.st index 0ce55d63..62d7f597 100644 --- a/source/Willow-Core/NullCodec.class.st +++ b/source/Willow-Core/NullCodec.class.st @@ -2,24 +2,26 @@ I'm a null encoder/decoder " Class { - #name : #NullCodec, - #superclass : #Codec, - #category : #'Willow-Core-Frontend' + #name : 'NullCodec', + #superclass : 'Codec', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #testing } +{ #category : 'testing' } NullCodec >> canCreate: anObject [ ^anObject isString ] -{ #category : #converting } +{ #category : 'converting' } NullCodec >> decode: aString [ ^ aString ] -{ #category : #converting } +{ #category : 'converting' } NullCodec >> encode: aString [ ^aString diff --git a/source/Willow-Core/NullTableFooterWebView.class.st b/source/Willow-Core/NullTableFooterWebView.class.st index 4c17b02b..b42204f4 100644 --- a/source/Willow-Core/NullTableFooterWebView.class.st +++ b/source/Willow-Core/NullTableFooterWebView.class.st @@ -2,15 +2,17 @@ I represent the absence of a table footer " Class { - #name : #NullTableFooterWebView, - #superclass : #TableFooterWebViewBehavior, - #category : #'Willow-Core-WebViews' + #name : 'NullTableFooterWebView', + #superclass : 'TableFooterWebViewBehavior', + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } NullTableFooterWebView >> changeNotifiedBy: aTableWebView [ ] -{ #category : #support } +{ #category : 'support' } NullTableFooterWebView >> renderContentOn: canvas [ ] diff --git a/source/Willow-Core/NullTriggeringPolicy.class.st b/source/Willow-Core/NullTriggeringPolicy.class.st index ff2d6f5b..11b9667e 100644 --- a/source/Willow-Core/NullTriggeringPolicy.class.st +++ b/source/Willow-Core/NullTriggeringPolicy.class.st @@ -2,12 +2,14 @@ I'm a triggering policy specifying that no triggering must happen. So if someone tries to use me I will fail. " Class { - #name : #NullTriggeringPolicy, - #superclass : #TriggeringPolicy, - #category : #'Willow-Core-WebInteraction' + #name : 'NullTriggeringPolicy', + #superclass : 'TriggeringPolicy', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #evaluating } +{ #category : 'evaluating' } NullTriggeringPolicy >> apply: anAsynchronousCall to: aComponent on: aCanvas [ Error signal: 'Trying to generate interactive script for component declared as non-interactive' diff --git a/source/Willow-Core/NullWebInteractionCommand.class.st b/source/Willow-Core/NullWebInteractionCommand.class.st index 1d35168b..429f3766 100644 --- a/source/Willow-Core/NullWebInteractionCommand.class.st +++ b/source/Willow-Core/NullWebInteractionCommand.class.st @@ -2,46 +2,48 @@ I represent a null web interaction command, so no javascript is generated when applied. " Class { - #name : #NullWebInteractionCommand, - #superclass : #WebInteractionCommand, + #name : 'NullWebInteractionCommand', + #superclass : 'WebInteractionCommand', #classVars : [ 'OnlyInstance' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'class initialization' } +{ #category : 'class initialization' } NullWebInteractionCommand class >> initialize [ OnlyInstance := super new ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } NullWebInteractionCommand class >> new [ ^ OnlyInstance ] -{ #category : #accessing } +{ #category : 'accessing' } NullWebInteractionCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } NullWebInteractionCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } NullWebInteractionCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } NullWebInteractionCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/NumberFieldWebView.class.st b/source/Willow-Core/NumberFieldWebView.class.st index 10958364..c76bd780 100644 --- a/source/Willow-Core/NumberFieldWebView.class.st +++ b/source/Willow-Core/NumberFieldWebView.class.st @@ -2,15 +2,17 @@ I represent a TextField containing numbers. " Class { - #name : #NumberFieldWebView, - #superclass : #FieldWebView, + #name : 'NumberFieldWebView', + #superclass : 'FieldWebView', #instVars : [ 'textCodec' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } NumberFieldWebView class >> applying: aComponentCommand transformingWith: aTextCodec [ ^ ( self @@ -20,31 +22,31 @@ NumberFieldWebView class >> applying: aComponentCommand transformingWith: aTextC initializeTransformingWith: aTextCodec ] -{ #category : #'number-container-API' } +{ #category : 'number-container-API' } NumberFieldWebView >> changeNumberTo: aNumber [ self changeModelTo: aNumber ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } NumberFieldWebView >> identifierPrefix [ ^ 'number-field' ] -{ #category : #initialization } +{ #category : 'initialization' } NumberFieldWebView >> initializeTransformingWith: aTextCodec [ textCodec := aTextCodec ] -{ #category : #'number-container-API' } +{ #category : 'number-container-API' } NumberFieldWebView >> number [ ^ self model ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } NumberFieldWebView >> textCodec [ ^ textCodec diff --git a/source/Willow-Core/OpenLocationCommand.class.st b/source/Willow-Core/OpenLocationCommand.class.st index 723264d1..2fdd6d7e 100644 --- a/source/Willow-Core/OpenLocationCommand.class.st +++ b/source/Willow-Core/OpenLocationCommand.class.st @@ -2,34 +2,36 @@ Command to configure an anchor to open a destination into a blank page " Class { - #name : #OpenLocationCommand, - #superclass : #WebComponentCommand, + #name : 'OpenLocationCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'destination', 'targetOptional' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } OpenLocationCommand class >> forNewBrowsingContextNavigatingTo: aLocation [ ^ self navigatingTo: aLocation targetingAccordingTo: (Optional containing: '_blank') ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OpenLocationCommand class >> forSameBrowsingContextNavigatingTo: aLocation [ ^ self navigatingTo: aLocation targetingAccordingTo: Optional unused ] -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } OpenLocationCommand class >> navigatingTo: aLocation targetingAccordingTo: aTargetOptional [ ^ self new initializeNavigatingTo: aLocation targetingAccordingTo: aTargetOptional ] -{ #category : #processing } +{ #category : 'processing' } OpenLocationCommand >> applyTo: anAnchorComponent on: aCanvas [ anAnchorComponent url: destination. @@ -40,7 +42,7 @@ OpenLocationCommand >> applyTo: anAnchorComponent on: aCanvas [ relationship: 'noopener noreferrer' ] ] -{ #category : #initialization } +{ #category : 'initialization' } OpenLocationCommand >> initializeNavigatingTo: aLocation targetingAccordingTo: aTargetOptional [ destination := aLocation. diff --git a/source/Willow-Core/PeriodicallyRenderedWebView.class.st b/source/Willow-Core/PeriodicallyRenderedWebView.class.st index 9cd7b504..77c5223c 100644 --- a/source/Willow-Core/PeriodicallyRenderedWebView.class.st +++ b/source/Willow-Core/PeriodicallyRenderedWebView.class.st @@ -2,8 +2,8 @@ I'm a periodically rendered web view, easing the burden of refreshing automatically some content. " Class { - #name : #PeriodicallyRenderedWebView, - #superclass : #WAPainter, + #name : 'PeriodicallyRenderedWebView', + #superclass : 'WAPainter', #instVars : [ 'stopRenderingContent', 'refreshCommand', @@ -11,10 +11,12 @@ Class { 'conditionBlock', 'viewToRefresh' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } PeriodicallyRenderedWebView class >> evaluating: aRefreshCommand every: aNumber millisecondsThenRendering: aViewToRender [ ^ self @@ -24,7 +26,7 @@ PeriodicallyRenderedWebView class >> evaluating: aRefreshCommand every: aNumber until: [ false ] ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } PeriodicallyRenderedWebView class >> evaluating: aRefreshCommand every: aNumber millisecondsThenRendering: aViewToRender until: aConditionBlock [ ^ self new @@ -34,7 +36,7 @@ PeriodicallyRenderedWebView class >> evaluating: aRefreshCommand every: aNumber until: aConditionBlock ] -{ #category : #initialization } +{ #category : 'initialization' } PeriodicallyRenderedWebView >> initializeEvaluating: aRefreshCommand every: aNumber millisecondsThenRendering: aView until: aConditionBlock [ refreshCommand := aRefreshCommand. @@ -44,7 +46,7 @@ PeriodicallyRenderedWebView >> initializeEvaluating: aRefreshCommand every: aNum self initializeViewToRefreshFrom: aView. ] -{ #category : #initialization } +{ #category : 'initialization' } PeriodicallyRenderedWebView >> initializeViewToRefreshFrom: aView [ viewToRefresh := ContainerWebView @@ -54,7 +56,7 @@ PeriodicallyRenderedWebView >> initializeViewToRefreshFrom: aView [ viewToRefresh beIdentifiable ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } PeriodicallyRenderedWebView >> refreshAndRenderContentOn: aCanvas [ refreshCommand value. @@ -65,14 +67,14 @@ PeriodicallyRenderedWebView >> refreshAndRenderContentOn: aCanvas [ addLoadScript: ( aCanvas jQuery ajax callback: [ stopRenderingContent := conditionBlock value ] ) ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } PeriodicallyRenderedWebView >> refreshAndRenderOn: aCanvas [ refreshCommand value. aCanvas render: viewToRefresh ] -{ #category : #rendering } +{ #category : 'rendering' } PeriodicallyRenderedWebView >> renderContentOn: aCanvas [ self refreshAndRenderOn: aCanvas. @@ -84,7 +86,7 @@ PeriodicallyRenderedWebView >> renderContentOn: aCanvas [ until: [stopRenderingContent] ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } PeriodicallyRenderedWebView >> scriptToRefreshAndRenderContentOn: aCanvas [ ^ ( aCanvas locate: viewToRefresh ) diff --git a/source/Willow-Core/PluggableTableRowCommand.class.st b/source/Willow-Core/PluggableTableRowCommand.class.st index ff8251fc..a14e566e 100644 --- a/source/Willow-Core/PluggableTableRowCommand.class.st +++ b/source/Willow-Core/PluggableTableRowCommand.class.st @@ -2,27 +2,29 @@ I'm a configurable table row command " Class { - #name : #PluggableTableRowCommand, - #superclass : #TableRowCommand, + #name : 'PluggableTableRowCommand', + #superclass : 'TableRowCommand', #instVars : [ 'block' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation - private' } +{ #category : 'instance creation - private' } PluggableTableRowCommand class >> toExecute: aTryadicBlock [ ^self new initializeToExecute: aTryadicBlock ] -{ #category : #Applying } +{ #category : 'Applying' } PluggableTableRowCommand >> applyTo: aTableRow for: aRelatedObject on: aCanvas [ block value: aTableRow value: aRelatedObject value: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } PluggableTableRowCommand >> initializeToExecute: aTryadicBlock [ block := aTryadicBlock diff --git a/source/Willow-Core/RadioGroupWebView.class.st b/source/Willow-Core/RadioGroupWebView.class.st index 8881b230..6a48c218 100644 --- a/source/Willow-Core/RadioGroupWebView.class.st +++ b/source/Willow-Core/RadioGroupWebView.class.st @@ -2,18 +2,20 @@ I'm a group of radio buttons allowing the user to select one of many options. " Class { - #name : #RadioGroupWebView, - #superclass : #SingleSelectionWebViewBehavior, + #name : 'RadioGroupWebView', + #superclass : 'SingleSelectionWebViewBehavior', #instVars : [ 'interactionInterpreter', 'renderingBlock', 'labelCommand', 'inputCommand' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance creation' } +{ #category : 'Instance creation' } RadioGroupWebView class >> new [ ^self @@ -22,7 +24,7 @@ RadioGroupWebView class >> new [ applyingToInput: [] ] -{ #category : #'Instance creation' } +{ #category : 'Instance creation' } RadioGroupWebView class >> renderingWith: aRenderingBlock applyingToLabel: aLabelCommand applyingToInput: anInputCommand [ ^super new @@ -31,7 +33,7 @@ RadioGroupWebView class >> renderingWith: aRenderingBlock applyingToLabel: aLabe applyingToInput: anInputCommand asWebComponentCommand ] -{ #category : #initialization } +{ #category : 'initialization' } RadioGroupWebView >> initializeRenderingWith: aRenderingBlock applyingToLabel: aLabelCommand applyingToInput: anInputCommand [ labelCommand := aLabelCommand. @@ -40,13 +42,13 @@ RadioGroupWebView >> initializeRenderingWith: aRenderingBlock applyingToLabel: a renderingBlock := aRenderingBlock ] -{ #category : #configuring } +{ #category : 'configuring' } RadioGroupWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } RadioGroupWebView >> renderContentOn: aCanvas [ aCanvas radioGroup @@ -56,13 +58,13 @@ RadioGroupWebView >> renderContentOn: aCanvas [ availableElements do: [ :element | self renderRadioButtonFor: element asPartOf: radioGroup on: aCanvas ] ] ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } RadioGroupWebView >> renderLabelContentFor: anElement on: aCanvas [ aCanvas render: (renderingBlock value: anElement) ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } RadioGroupWebView >> renderLabelFor: radioButtonId on: aCanvas with: aRenderable [ aCanvas label @@ -70,7 +72,7 @@ RadioGroupWebView >> renderLabelFor: radioButtonId on: aCanvas with: aRenderable with: aRenderable applying: labelCommand ] -{ #category : #'private-rendering' } +{ #category : 'private-rendering' } RadioGroupWebView >> renderRadioButtonFor: anElement asPartOf: aRadioGroup on: aCanvas [ | radioButtonId | diff --git a/source/Willow-Core/ReflectiveCascadingStyleSheetBuilder.extension.st b/source/Willow-Core/ReflectiveCascadingStyleSheetBuilder.extension.st index 091a6b29..bdb89564 100644 --- a/source/Willow-Core/ReflectiveCascadingStyleSheetBuilder.extension.st +++ b/source/Willow-Core/ReflectiveCascadingStyleSheetBuilder.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #ReflectiveCascadingStyleSheetBuilder } +Extension { #name : 'ReflectiveCascadingStyleSheetBuilder' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } ReflectiveCascadingStyleSheetBuilder >> classification [ ^ Willow classification diff --git a/source/Willow-Core/RenderingCommand.class.st b/source/Willow-Core/RenderingCommand.class.st index d50ead80..8c2e6a23 100644 --- a/source/Willow-Core/RenderingCommand.class.st +++ b/source/Willow-Core/RenderingCommand.class.st @@ -2,34 +2,36 @@ I'm a Web Interaction Command used to render again the contents of an IdentifedWebView . " Class { - #name : #RenderingCommand, - #superclass : #WebInteractionCommand, + #name : 'RenderingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'identifiedViews' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } RenderingCommand class >> for: anIdentifiedView [ ^ self forAll: ( Array with: anIdentifiedView ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } RenderingCommand class >> forAll: anIdentifiedViewCollection [ ^ self new initializeRenderingAll: anIdentifiedViewCollection ] -{ #category : #initialization } +{ #category : 'initialization' } RenderingCommand >> initializeRenderingAll: anIdentifiedViewCollection [ anIdentifiedViewCollection do: #beIdentifiable. identifiedViews := anIdentifiedViewCollection ] -{ #category : #accessing } +{ #category : 'accessing' } RenderingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -40,19 +42,19 @@ RenderingCommand >> modelLoadingInstructions [ orderedAt: 10 ] -{ #category : #accessing } +{ #category : 'accessing' } RenderingCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } RenderingCommand >> requiresSerialization [ ^ true ] -{ #category : #accessing } +{ #category : 'accessing' } RenderingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/ScrollIntoViewCommand.class.st b/source/Willow-Core/ScrollIntoViewCommand.class.st index 0f03ffe4..662e616d 100644 --- a/source/Willow-Core/ScrollIntoViewCommand.class.st +++ b/source/Willow-Core/ScrollIntoViewCommand.class.st @@ -2,34 +2,36 @@ I'm a WebInteractionCommand that scrolls the web page so that a specific component is visible. " Class { - #name : #ScrollIntoViewCommand, - #superclass : #WebInteractionCommand, + #name : 'ScrollIntoViewCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'identifierProvider' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ScrollIntoViewCommand class >> withComponentIdentifierProvidedBy: anIdentifierProvider [ ^self new initializeWithComponentIdentifierProvidedBy: anIdentifierProvider ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } ScrollIntoViewCommand >> identifierToShow [ ^identifierProvider value ] -{ #category : #initialization } +{ #category : 'initialization' } ScrollIntoViewCommand >> initializeWithComponentIdentifierProvidedBy: anIdentifierProvider [ identifierProvider := anIdentifierProvider ] -{ #category : #accessing } +{ #category : 'accessing' } ScrollIntoViewCommand >> modelLoadingInstructions [ "We iterate the result before sending the scrolling message in case no match is found." @@ -42,19 +44,19 @@ ScrollIntoViewCommand >> modelLoadingInstructions [ orderedAt: 20 ] -{ #category : #accessing } +{ #category : 'accessing' } ScrollIntoViewCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } ScrollIntoViewCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } ScrollIntoViewCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/SelectionIsInvalid.class.st b/source/Willow-Core/SelectionIsInvalid.class.st index 0e51cd72..dc786ec5 100644 --- a/source/Willow-Core/SelectionIsInvalid.class.st +++ b/source/Willow-Core/SelectionIsInvalid.class.st @@ -2,12 +2,14 @@ An exception signalled when some InvalidSelection received a message. " Class { - #name : #SelectionIsInvalid, - #superclass : #Error, - #category : #'Willow-Core-WebInteraction' + #name : 'SelectionIsInvalid', + #superclass : 'Error', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #signaling } +{ #category : 'signaling' } SelectionIsInvalid class >> signal: aFailureExplanation [ ^ self signalAll: {aFailureExplanation} diff --git a/source/Willow-Core/SerializationCommand.class.st b/source/Willow-Core/SerializationCommand.class.st index e4e52ce5..c586111c 100644 --- a/source/Willow-Core/SerializationCommand.class.st +++ b/source/Willow-Core/SerializationCommand.class.st @@ -2,22 +2,24 @@ I'm a WebInteractionCommand that specifies how to serialize the component state. " Class { - #name : #SerializationCommand, - #superclass : #WebInteractionCommand, + #name : 'SerializationCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'priorityActions', 'coverage' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } SerializationCommand class >> executing: aPriorityAction covering: aListOfSelectors [ ^ self new initializeExecuting: aPriorityAction covering: aListOfSelectors ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SerializationCommand class >> forChildForm [ ^ self @@ -29,7 +31,7 @@ SerializationCommand class >> forChildForm [ covering: #(forChildForm) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SerializationCommand class >> forCurrentObject [ ^ self @@ -41,7 +43,7 @@ SerializationCommand class >> forCurrentObject [ covering: #(forCurrentObject) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SerializationCommand class >> forCurrentObjectWithHiddenInputs [ ^ self @@ -53,7 +55,7 @@ SerializationCommand class >> forCurrentObjectWithHiddenInputs [ covering: #(forCurrentObject forCurrentObjectWithHiddenInputs) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SerializationCommand class >> forForm: anIdentifiedForm [ ^ self @@ -65,7 +67,7 @@ SerializationCommand class >> forForm: anIdentifiedForm [ covering: #() ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SerializationCommand class >> forParentForm [ ^ self @@ -77,38 +79,38 @@ SerializationCommand class >> forParentForm [ covering: #(forParentForm) ] -{ #category : #initialization } +{ #category : 'initialization' } SerializationCommand >> initializeExecuting: aPriorityAction covering: aListOfSelectors [ priorityActions := Array with: aPriorityAction. coverage := aListOfSelectors ] -{ #category : #accessing } +{ #category : 'accessing' } SerializationCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } SerializationCommand >> priorityActions [ ^ priorityActions ] -{ #category : #testing } +{ #category : 'testing' } SerializationCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } SerializationCommand >> serializationCoverage [ ^ coverage ] -{ #category : #accessing } +{ #category : 'accessing' } SerializationCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/ServerResponseCommand.class.st b/source/Willow-Core/ServerResponseCommand.class.st index fe22ff7a..e8867f31 100644 --- a/source/Willow-Core/ServerResponseCommand.class.st +++ b/source/Willow-Core/ServerResponseCommand.class.st @@ -2,8 +2,8 @@ I'm a WebInteractionCommand with a response that can be configured during the execution on the server. " Class { - #name : #ServerResponseCommand, - #superclass : #WebInteractionCommand, + #name : 'ServerResponseCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'interpreter', 'serverSideParameterBinding', @@ -11,10 +11,12 @@ Class { 'userAgentConditionOptional', 'userAgentParameterOptional' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } ServerResponseCommand class >> withBehaviorDeterminedBy: aBlock conditionedBy: aUserAgentConditionOptional requiring: aUserAgentParameterOptional [ ^ self new @@ -23,7 +25,7 @@ ServerResponseCommand class >> withBehaviorDeterminedBy: aBlock conditionedBy: a requiring: aUserAgentParameterOptional ] -{ #category : #private } +{ #category : 'private' } ServerResponseCommand >> conditionApplying: clientSideParameter to: clientCondition [ "We need to obtain the parameter and build a new object around it to prevent Seaside from manipulating the original object" @@ -31,7 +33,7 @@ ServerResponseCommand >> conditionApplying: clientSideParameter to: clientCondit ^ clientCondition cull: ( JSStream on: clientSideParameter asJavascript ) ] -{ #category : #private } +{ #category : 'private' } ServerResponseCommand >> considerAddingConditionTo: anAsynchronousCall [ userAgentConditionOptional @@ -44,7 +46,7 @@ ServerResponseCommand >> considerAddingConditionTo: anAsynchronousCall [ ] ] -{ #category : #initialization } +{ #category : 'initialization' } ServerResponseCommand >> initializeWithBehaviorDeterminedBy: aBlock conditionedBy: aUserAgentConditionOptional requiring: aUserAgentParameterOptional [ @@ -57,7 +59,7 @@ ServerResponseCommand >> initializeWithBehaviorDeterminedBy: aBlock self resetInterpreter ] -{ #category : #accessing } +{ #category : 'accessing' } ServerResponseCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions @@ -72,7 +74,7 @@ ServerResponseCommand >> modelLoadingInstructions [ ] ] -{ #category : #private } +{ #category : 'private' } ServerResponseCommand >> obtain: clientSideParameter from: anAsynchronousCall [ self considerAddingConditionTo: anAsynchronousCall. @@ -82,19 +84,19 @@ ServerResponseCommand >> obtain: clientSideParameter from: anAsynchronousCall [ json: clientSideParameter ] -{ #category : #configuring } +{ #category : 'configuring' } ServerResponseCommand >> onRespond [ ^ interpreter ] -{ #category : #accessing } +{ #category : 'accessing' } ServerResponseCommand >> parameter [ ^ serverSideParameterBinding content ] -{ #category : #accessing } +{ #category : 'accessing' } ServerResponseCommand >> priorityActions [ "If there's some parameter, we got it from the json and keep it to be used during callback execution" @@ -107,19 +109,19 @@ ServerResponseCommand >> priorityActions [ ifUnused: [ #() ] ] -{ #category : #testing } +{ #category : 'testing' } ServerResponseCommand >> requiresSerialization [ ^ true ] -{ #category : #initialization } +{ #category : 'initialization' } ServerResponseCommand >> resetInterpreter [ interpreter := WebInteractionInterpreter workingWith: DelayedModelLoader new ] -{ #category : #accessing } +{ #category : 'accessing' } ServerResponseCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions empty diff --git a/source/Willow-Core/SetColumnSpanCommand.class.st b/source/Willow-Core/SetColumnSpanCommand.class.st index dd206da0..9a9d538a 100644 --- a/source/Willow-Core/SetColumnSpanCommand.class.st +++ b/source/Willow-Core/SetColumnSpanCommand.class.st @@ -2,27 +2,29 @@ A command to set the colSpan of a table column. " Class { - #name : #SetColumnSpanCommand, - #superclass : #WebComponentCommand, + #name : 'SetColumnSpanCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'colSpan' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SetColumnSpanCommand class >> setting: aColSpan [ ^ self new initializeSetting: aColSpan ] -{ #category : #processing } +{ #category : 'processing' } SetColumnSpanCommand >> applyTo: aComponent on: aCanvas [ aComponent colSpan: colSpan ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } SetColumnSpanCommand >> initializeSetting: aColSpan [ colSpan := aColSpan diff --git a/source/Willow-Core/SetComponentSizeCommand.class.st b/source/Willow-Core/SetComponentSizeCommand.class.st index bb6047b3..02f1f163 100644 --- a/source/Willow-Core/SetComponentSizeCommand.class.st +++ b/source/Willow-Core/SetComponentSizeCommand.class.st @@ -2,27 +2,29 @@ A command to set the size of a component, in combo boxes this implies the number of visible options. " Class { - #name : #SetComponentSizeCommand, - #superclass : #WebComponentCommand, + #name : 'SetComponentSizeCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'size' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SetComponentSizeCommand class >> setting: aSize [ ^self new initializeSetting: aSize ] -{ #category : #processing } +{ #category : 'processing' } SetComponentSizeCommand >> applyTo: aComponent on: aCanvas [ aComponent size: size ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } SetComponentSizeCommand >> initializeSetting: aSize [ size := aSize diff --git a/source/Willow-Core/SetComponentStyleCommand.class.st b/source/Willow-Core/SetComponentStyleCommand.class.st index 7233d3a6..ddd2a02f 100644 --- a/source/Willow-Core/SetComponentStyleCommand.class.st +++ b/source/Willow-Core/SetComponentStyleCommand.class.st @@ -2,27 +2,29 @@ A command to set the style of a component. " Class { - #name : #SetComponentStyleCommand, - #superclass : #WebComponentCommand, + #name : 'SetComponentStyleCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'style' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } SetComponentStyleCommand class >> setting: aStyle [ ^self new initializeSetting: aStyle ] -{ #category : #processing } +{ #category : 'processing' } SetComponentStyleCommand >> applyTo: aComponent on: aCanvas [ aComponent style: style ] -{ #category : #initialization } +{ #category : 'initialization' } SetComponentStyleCommand >> initializeSetting: aStyle [ style := aStyle diff --git a/source/Willow-Core/SetComponentTabIndexCommand.class.st b/source/Willow-Core/SetComponentTabIndexCommand.class.st index 2ddf6e38..1f3f0f2b 100644 --- a/source/Willow-Core/SetComponentTabIndexCommand.class.st +++ b/source/Willow-Core/SetComponentTabIndexCommand.class.st @@ -2,27 +2,29 @@ A command to set the tab index/order of a component. " Class { - #name : #SetComponentTabIndexCommand, - #superclass : #WebComponentCommand, + #name : 'SetComponentTabIndexCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'index' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SetComponentTabIndexCommand class >> setting: anIndex [ ^self new initializeSetting: anIndex ] -{ #category : #processing } +{ #category : 'processing' } SetComponentTabIndexCommand >> applyTo: aComponent on: aCanvas [ aComponent tabIndex: index ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } SetComponentTabIndexCommand >> initializeSetting: anIndex [ index := anIndex diff --git a/source/Willow-Core/SetRowSpanCommand.class.st b/source/Willow-Core/SetRowSpanCommand.class.st index fa63ed32..524886b1 100644 --- a/source/Willow-Core/SetRowSpanCommand.class.st +++ b/source/Willow-Core/SetRowSpanCommand.class.st @@ -2,27 +2,29 @@ A command to set the rowSpan of a table cell. " Class { - #name : #SetRowSpanCommand, - #superclass : #WebComponentCommand, + #name : 'SetRowSpanCommand', + #superclass : 'WebComponentCommand', #instVars : [ 'rowSpan' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SetRowSpanCommand class >> setting: aRowSpan [ ^ self new initializeSetting: aRowSpan ] -{ #category : #processing } +{ #category : 'processing' } SetRowSpanCommand >> applyTo: aComponent on: aCanvas [ aComponent rowSpan: rowSpan ] -{ #category : #initialization } +{ #category : 'initialization' } SetRowSpanCommand >> initializeSetting: aRowSpan [ rowSpan := aRowSpan diff --git a/source/Willow-Core/SingleSelectionWebView.class.st b/source/Willow-Core/SingleSelectionWebView.class.st index a06da028..d0631253 100644 --- a/source/Willow-Core/SingleSelectionWebView.class.st +++ b/source/Willow-Core/SingleSelectionWebView.class.st @@ -1,28 +1,30 @@ Class { - #name : #SingleSelectionWebView, - #superclass : #SingleSelectionWebViewBehavior, + #name : 'SingleSelectionWebView', + #superclass : 'SingleSelectionWebViewBehavior', #instVars : [ 'interactionInterpreter', 'identifierAssigner', 'optionCommand', 'selectCommand' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } SingleSelectionWebView class >> applyingToSelect: aSelectCommand applyingToOptions: anOptionCommand [ ^ self new initializeApplyingToSelect: aSelectCommand applyingToOptions: anOptionCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SingleSelectionWebView class >> dropDownListApplying: aSelectCommand applyingToOptions: anOptionCommand [ ^ self applyingToSelect: aSelectCommand applyingToOptions: anOptionCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SingleSelectionWebView class >> listBoxDisplayingAtOnce: aNumberOfElements [ ^ self @@ -31,7 +33,7 @@ SingleSelectionWebView class >> listBoxDisplayingAtOnce: aNumberOfElements [ applyingToOptions: [ ] ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } SingleSelectionWebView class >> listBoxDisplayingAtOnce: aNumberOfElements applying: aSelectCommand applyingToOptions: anOptionCommand [ AssertionChecker enforce: [ aNumberOfElements > 1 ] @@ -43,25 +45,25 @@ SingleSelectionWebView class >> listBoxDisplayingAtOnce: aNumberOfElements apply applyingToOptions: anOptionCommand ] -{ #category : #configuring } +{ #category : 'configuring' } SingleSelectionWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #private } +{ #category : 'private' } SingleSelectionWebView >> configure: select unselectingAllOn: aCanvas [ ^ availableElements ifNotEmpty: [ select apply: DeselectAllOptionsCommand new ] ] -{ #category : #accessing } +{ #category : 'accessing' } SingleSelectionWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } SingleSelectionWebView >> initializeApplyingToSelect: aSelectCommand applyingToOptions: anOptionCommand [ selectCommand := aSelectCommand. @@ -71,13 +73,13 @@ SingleSelectionWebView >> initializeApplyingToSelect: aSelectCommand applyingToO ] -{ #category : #configuring } +{ #category : 'configuring' } SingleSelectionWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } SingleSelectionWebView >> renderContentOn: aCanvas [ | select | @@ -95,7 +97,7 @@ SingleSelectionWebView >> renderContentOn: aCanvas [ select with: [ self renderOptionsFor: select on: aCanvas ] ] -{ #category : #rendering } +{ #category : 'rendering' } SingleSelectionWebView >> renderOptionsFor: aWASelectTag on: aCanvas [ availableElements diff --git a/source/Willow-Core/SingleSelectionWebViewBehavior.class.st b/source/Willow-Core/SingleSelectionWebViewBehavior.class.st index 1c628c34..cdf65c2c 100644 --- a/source/Willow-Core/SingleSelectionWebViewBehavior.class.st +++ b/source/Willow-Core/SingleSelectionWebViewBehavior.class.st @@ -2,23 +2,25 @@ I'm an abstract class representing single selection web views " Class { - #name : #SingleSelectionWebViewBehavior, - #superclass : #WAPainter, + #name : 'SingleSelectionWebViewBehavior', + #superclass : 'WAPainter', #instVars : [ 'availableElements', 'interested', 'chosenElementOptional' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } SingleSelectionWebViewBehavior class >> new [ ^ super new initialize ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> allowAnyOf: anElementCollection [ availableElements := anElementCollection. @@ -26,32 +28,32 @@ SingleSelectionWebViewBehavior >> allowAnyOf: anElementCollection [ self chooseAnySatisfying: [ :element | chosenElementOptional withContentDo: [ :chosenElement | chosenElement = element ] ifUnused: [ false ] ] ifNone: [ self invalidateSelection ] ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> allowsAnySatisfying: aMatchBlock [ ^availableElements anySatisfy: aMatchBlock ] -{ #category : #private } +{ #category : 'private' } SingleSelectionWebViewBehavior >> choose: anElement [ chosenElementOptional := Optional containing: anElement. self notifyInterested ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> chooseAny [ self chooseAnySatisfying: [ :element | true ] ifNone: [ ] ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> chooseAnySatisfying: aMatchBlock ifNone: aBlock [ availableElements detect: aMatchBlock ifFound: [ :found | self choose: found ] ifNone: aBlock ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> chooseEqualTo: anElement [ self @@ -59,26 +61,26 @@ SingleSelectionWebViewBehavior >> chooseEqualTo: anElement [ ifNone: [ SelectionIsInvalid signal: ('There''s no available object equal to <1p>' expandMacrosWith: anElement) ] ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> currentSelection [ ^ self currentSelectionIfNone: [ SelectionIsInvalid signal: 'Nothing is selected' ] ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> currentSelectionIfNone: aBlock [ ^ chosenElementOptional withContentDo: [ :element | element ] ifUnused: aBlock ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> disallowAll [ availableElements := #(). self invalidateSelection ] -{ #category : #initialization } +{ #category : 'initialization' } SingleSelectionWebViewBehavior >> initialize [ super initialize. @@ -86,32 +88,32 @@ SingleSelectionWebViewBehavior >> initialize [ self disallowAll ] -{ #category : #private } +{ #category : 'private' } SingleSelectionWebViewBehavior >> invalidateSelection [ chosenElementOptional := Optional unusedBecause: 'There''s no element selected'. self notifyInterested ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> notifyChangesTo: aSupervisor [ interested add: aSupervisor ] -{ #category : #private } +{ #category : 'private' } SingleSelectionWebViewBehavior >> notifyInterested [ interested do: [ :anInterested | anInterested changeNotifiedBy: self ] ] -{ #category : #configuring } +{ #category : 'configuring' } SingleSelectionWebViewBehavior >> on [ ^ self subclassResponsibility ] -{ #category : #'Single Selection-API' } +{ #category : 'Single Selection-API' } SingleSelectionWebViewBehavior >> withCurrentSelectionDo: aBlock [ ^ chosenElementOptional withContentDo: aBlock ifUnused: [ ] diff --git a/source/Willow-Core/SynchronicSubmitButtonWebView.class.st b/source/Willow-Core/SynchronicSubmitButtonWebView.class.st index 62fecf64..d8337682 100644 --- a/source/Willow-Core/SynchronicSubmitButtonWebView.class.st +++ b/source/Willow-Core/SynchronicSubmitButtonWebView.class.st @@ -2,8 +2,8 @@ I'm a submit button " Class { - #name : #SynchronicSubmitButtonWebView, - #superclass : #WAPainter, + #name : 'SynchronicSubmitButtonWebView', + #superclass : 'WAPainter', #instVars : [ 'label', 'commandToComponent', @@ -11,10 +11,12 @@ Class { 'identifierAssigner', 'submitCallback' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } SynchronicSubmitButtonWebView class >> labeled: aLabel applying: aComponentCommand evaluating: actionOnSubmit [ ^ self new @@ -23,19 +25,19 @@ SynchronicSubmitButtonWebView class >> labeled: aLabel applying: aComponentComma evaluating: actionOnSubmit ] -{ #category : #configuring } +{ #category : 'configuring' } SynchronicSubmitButtonWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #accessing } +{ #category : 'accessing' } SynchronicSubmitButtonWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } SynchronicSubmitButtonWebView >> initializeLabeled: aLabel applying: aCommandCollection evaluating: actionOnSubmit [ label := aLabel. @@ -45,13 +47,13 @@ SynchronicSubmitButtonWebView >> initializeLabeled: aLabel applying: aCommandCol identifierAssigner := IdentifierAssigner prefixedBy: 'submit-button' ] -{ #category : #configuring } +{ #category : 'configuring' } SynchronicSubmitButtonWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } SynchronicSubmitButtonWebView >> renderContentOn: aCanvas [ | submitButton | diff --git a/source/Willow-Core/TableFooterWebView.class.st b/source/Willow-Core/TableFooterWebView.class.st index b9def68c..171068fb 100644 --- a/source/Willow-Core/TableFooterWebView.class.st +++ b/source/Willow-Core/TableFooterWebView.class.st @@ -2,35 +2,37 @@ I represent a table footer " Class { - #name : #TableFooterWebView, - #superclass : #TableFooterWebViewBehavior, + #name : 'TableFooterWebView', + #superclass : 'TableFooterWebViewBehavior', #instVars : [ 'columnRenderers', 'tableContents' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } TableFooterWebView class >> definedBy: aColumnRendererCollection [ ^ self new initializeDefinedBy: aColumnRendererCollection ] -{ #category : #support } +{ #category : 'support' } TableFooterWebView >> changeNotifiedBy: aTableWebView [ tableContents := aTableWebView contents ] -{ #category : #initialization } +{ #category : 'initialization' } TableFooterWebView >> initializeDefinedBy: aColumnRendererCollection [ columnRenderers := aColumnRendererCollection. tableContents := #() ] -{ #category : #rendering } +{ #category : 'rendering' } TableFooterWebView >> renderContentOn: aCanvas [ aCanvas tableFoot: [ columnRenderers do: [ :renderer | renderer renderFooterCellSummarizing: tableContents on: aCanvas ] ] diff --git a/source/Willow-Core/TableFooterWebViewBehavior.class.st b/source/Willow-Core/TableFooterWebViewBehavior.class.st index 20efa832..e826d459 100644 --- a/source/Willow-Core/TableFooterWebViewBehavior.class.st +++ b/source/Willow-Core/TableFooterWebViewBehavior.class.st @@ -2,12 +2,14 @@ I'm an abstract class representing table footers " Class { - #name : #TableFooterWebViewBehavior, - #superclass : #WAPainter, - #category : #'Willow-Core-WebViews' + #name : 'TableFooterWebViewBehavior', + #superclass : 'WAPainter', + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #support } +{ #category : 'support' } TableFooterWebViewBehavior >> changeNotifiedBy: aTableWebView [ ^ self subclassResponsibility diff --git a/source/Willow-Core/TableHeaderWebView.class.st b/source/Willow-Core/TableHeaderWebView.class.st index 2b453ee5..50c490ce 100644 --- a/source/Willow-Core/TableHeaderWebView.class.st +++ b/source/Willow-Core/TableHeaderWebView.class.st @@ -2,27 +2,29 @@ I represent a table header " Class { - #name : #TableHeaderWebView, - #superclass : #WAPainter, + #name : 'TableHeaderWebView', + #superclass : 'WAPainter', #instVars : [ 'columnRenderers' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } TableHeaderWebView class >> definedBy: aColumnRendererCollection [ ^ self new initializeDefinedBy: aColumnRendererCollection ] -{ #category : #initialization } +{ #category : 'initialization' } TableHeaderWebView >> initializeDefinedBy: aColumnRendererCollection [ columnRenderers := aColumnRendererCollection ] -{ #category : #rendering } +{ #category : 'rendering' } TableHeaderWebView >> renderContentOn: aCanvas [ aCanvas tableHead: [ columnRenderers do: [ :renderer | renderer renderHeadingOn: aCanvas ] ] diff --git a/source/Willow-Core/TableRowCommand.class.st b/source/Willow-Core/TableRowCommand.class.st index 58aae31a..66863074 100644 --- a/source/Willow-Core/TableRowCommand.class.st +++ b/source/Willow-Core/TableRowCommand.class.st @@ -2,24 +2,26 @@ I'm a command to be applied to a table row. I expect to be evaluated with the current row, the related object and a Canvas " Class { - #name : #TableRowCommand, - #superclass : #Object, - #category : #'Willow-Core-Frontend' + #name : 'TableRowCommand', + #superclass : 'Object', + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #Combining } +{ #category : 'Combining' } TableRowCommand >> + aTableRowCommand [ ^CompositeTableRowCommand applyingAll: (Array with: self with: aTableRowCommand) ] -{ #category : #Applying } +{ #category : 'Applying' } TableRowCommand >> applyTo: aTableRow for: aRelatedObject on: aCanvas [ self subclassResponsibility ] -{ #category : #Converting } +{ #category : 'Converting' } TableRowCommand >> asTableRowCommand [ ^self diff --git a/source/Willow-Core/TableWebView.class.st b/source/Willow-Core/TableWebView.class.st index a69374fe..3f28c489 100644 --- a/source/Willow-Core/TableWebView.class.st +++ b/source/Willow-Core/TableWebView.class.st @@ -2,8 +2,8 @@ A view to represent an html table " Class { - #name : #TableWebView, - #superclass : #WAPainter, + #name : 'TableWebView', + #superclass : 'WAPainter', #instVars : [ 'columnRenderers', 'items', @@ -15,10 +15,12 @@ Class { 'identifierAssigner', 'footer' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TableWebView class >> definedBy: aColumnRendererCollection applying: aTableCommand headerRenderedBy: aHeader applyingToEachRow: aRowCommand footerRenderedBy: aFooter [ ^ self new @@ -29,32 +31,32 @@ TableWebView class >> definedBy: aColumnRendererCollection applying: aTableComma footerRenderedBy: aFooter ] -{ #category : #configuring } +{ #category : 'configuring' } TableWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #'container-API' } +{ #category : 'container-API' } TableWebView >> changeContentsTo: anElementCollection [ items := anElementCollection. self notifyInterested ] -{ #category : #'container-API' } +{ #category : 'container-API' } TableWebView >> contents [ ^items ] -{ #category : #accessing } +{ #category : 'accessing' } TableWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #'initialize-release' } +{ #category : 'initialize-release' } TableWebView >> initializeDefinedBy: aColumnRendererCollection applying: aTableCommand headerRenderedBy: aHeader applyingToEachRow: aRowCommand footerRenderedBy: aFooter [ interested := Set new. @@ -69,25 +71,25 @@ TableWebView >> initializeDefinedBy: aColumnRendererCollection applying: aTableC self changeContentsTo: #() ] -{ #category : #'container-API' } +{ #category : 'container-API' } TableWebView >> notifyChangesTo: aSupervisor [ interested add: aSupervisor ] -{ #category : #private } +{ #category : 'private' } TableWebView >> notifyInterested [ interested do: [:anInterested | anInterested changeNotifiedBy: self] ] -{ #category : #configuring } +{ #category : 'configuring' } TableWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } TableWebView >> renderContentOn: aCanvas [ aCanvas table @@ -101,7 +103,7 @@ TableWebView >> renderContentOn: aCanvas [ applying: commandToTable ] -{ #category : #private } +{ #category : 'private' } TableWebView >> renderRowAt: anIndex for: anItem on: aCanvas [ | row | diff --git a/source/Willow-Core/TableWebViewBuilder.class.st b/source/Willow-Core/TableWebViewBuilder.class.st index e18cc1b9..de87c30a 100644 --- a/source/Willow-Core/TableWebViewBuilder.class.st +++ b/source/Willow-Core/TableWebViewBuilder.class.st @@ -2,8 +2,8 @@ I'm a builder of TableWebVIews " Class { - #name : #TableWebViewBuilder, - #superclass : #WillowComponentBuilder, + #name : 'TableWebViewBuilder', + #superclass : 'WillowComponentBuilder', #instVars : [ 'columnRenderers', 'rowCommand', @@ -11,10 +11,12 @@ Class { 'headerProvider', 'footerProvider' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #Configuring } +{ #category : 'Configuring' } TableWebViewBuilder >> addColumn: aMonadycBlock [ | builder | @@ -24,19 +26,19 @@ TableWebViewBuilder >> addColumn: aMonadycBlock [ columnRenderers add: builder build ] -{ #category : #Configuring } +{ #category : 'Configuring' } TableWebViewBuilder >> apply: aTableCommand [ tableCommand := tableCommand + aTableCommand ] -{ #category : #Configuring } +{ #category : 'Configuring' } TableWebViewBuilder >> applyToEachRow: aRowCommand [ rowCommand := aRowCommand ] -{ #category : #Building } +{ #category : 'Building' } TableWebViewBuilder >> buildApplying: aComponentCommand [ ^ TableWebView @@ -47,19 +49,19 @@ TableWebViewBuilder >> buildApplying: aComponentCommand [ footerRenderedBy: (footerProvider value: columnRenderers) ] -{ #category : #'private - configuring' } +{ #category : 'private - configuring' } TableWebViewBuilder >> doNotRenderFooter [ footerProvider := [ :columns | NullTableFooterWebView new ] ] -{ #category : #'private - configuring' } +{ #category : 'private - configuring' } TableWebViewBuilder >> doNotRenderHeader [ headerProvider := [ :columns | [ :canvas | ] ] ] -{ #category : #initialization } +{ #category : 'initialization' } TableWebViewBuilder >> initialize [ super initialize. @@ -71,19 +73,19 @@ TableWebViewBuilder >> initialize [ doNotRenderFooter ] -{ #category : #'private - configuring' } +{ #category : 'private - configuring' } TableWebViewBuilder >> renderFooter [ footerProvider := [ :columns | TableFooterWebView definedBy: columns ] ] -{ #category : #'private - configuring' } +{ #category : 'private - configuring' } TableWebViewBuilder >> renderHeader [ headerProvider := [ :columns | TableHeaderWebView definedBy: columns ] ] -{ #category : #Configuring } +{ #category : 'Configuring' } TableWebViewBuilder >> styledWith: aCssClass [ self apply: (ComponentClassificationCommand toStyleWith: aCssClass) diff --git a/source/Willow-Core/TemporarilyDisablingCommand.class.st b/source/Willow-Core/TemporarilyDisablingCommand.class.st index 1c844bae..301d70ee 100644 --- a/source/Willow-Core/TemporarilyDisablingCommand.class.st +++ b/source/Willow-Core/TemporarilyDisablingCommand.class.st @@ -2,22 +2,24 @@ I'm a WebInteractionCommand that disable an specific component during an AJAX call execution. " Class { - #name : #TemporarilyDisablingCommand, - #superclass : #WebInteractionCommand, + #name : 'TemporarilyDisablingCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'componentProvider', 'viewWhileDisabled' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #accessing } +{ #category : 'accessing' } TemporarilyDisablingCommand class >> componentToDisableVariableName [ ^ 'componentToDisable' ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } TemporarilyDisablingCommand class >> transforming: anIdentifieView into: aViewWhileDisabled [ ^ self @@ -25,75 +27,75 @@ TemporarilyDisablingCommand class >> transforming: anIdentifieView into: aViewWh into: aViewWhileDisabled ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } TemporarilyDisablingCommand class >> transformingComponentMatching: aComponentProvider into: aViewWhileDisabled [ ^ self new initializeTransformingComponentMatching: aComponentProvider into: aViewWhileDisabled ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } TemporarilyDisablingCommand class >> transformingCurrentViewInto: aViewWhileDisabled [ ^ self transformingComponentMatching: [ :canvas | canvas jQuery this ] into: aViewWhileDisabled ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> areEventsEnabledOn: aCanvas [ ^ ( ( self componentToDisableVariableOn: aCanvas ) attributeAt: self eventsDisabledAttributeName ) notIdenticalTo: 'disabled' ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> componentToDisableOn: aCanvas [ ^ componentProvider value: aCanvas ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> componentToDisableVariableName [ ^ self class componentToDisableVariableName ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> componentToDisableVariableOn: aCanvas [ ^ aCanvas jQuery new alias: self componentToDisableVariableName ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> disabledAttributeName [ ^ Constants >> #willow >> #disabledAttributeName ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> eventsDisabledAttributeName [ ^ 'data-willow-events-disabled' ] -{ #category : #initialization } +{ #category : 'initialization' } TemporarilyDisablingCommand >> initializeTransformingComponentMatching: aComponentProvider into: aViewWhileDisabled [ viewWhileDisabled := aViewWhileDisabled. componentProvider := aComponentProvider ] -{ #category : #accessing } +{ #category : 'accessing' } TemporarilyDisablingCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> originalContentAttributeName [ ^ 'data-original-html' ] -{ #category : #accessing } +{ #category : 'accessing' } TemporarilyDisablingCommand >> priorityActions [ ^ Array @@ -105,13 +107,13 @@ TemporarilyDisablingCommand >> priorityActions [ ] ] -{ #category : #testing } +{ #category : 'testing' } TemporarilyDisablingCommand >> requiresSerialization [ ^false ] -{ #category : #accessing } +{ #category : 'accessing' } TemporarilyDisablingCommand >> serverIndependentInstructions [ ^ WebInteractionInstructions @@ -119,7 +121,7 @@ TemporarilyDisablingCommand >> serverIndependentInstructions [ [ :canvas | ( self componentToDisableOn: canvas ) assignLocalTo: self componentToDisableVariableName ] ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> stepsAfterServerCallOn: aCanvas [ ^ ( self componentToDisableVariableOn: aCanvas ) @@ -130,7 +132,7 @@ TemporarilyDisablingCommand >> stepsAfterServerCallOn: aCanvas [ with: ( ( self componentToDisableVariableOn: aCanvas ) attributeAt: self originalContentAttributeName ) ] -{ #category : #private } +{ #category : 'private' } TemporarilyDisablingCommand >> stepsBeforeServelCallOn: aCanvas [ ^ ( self componentToDisableVariableOn: aCanvas ) diff --git a/source/Willow-Core/TextFieldWebView.class.st b/source/Willow-Core/TextFieldWebView.class.st index eba12722..7876a5e6 100644 --- a/source/Willow-Core/TextFieldWebView.class.st +++ b/source/Willow-Core/TextFieldWebView.class.st @@ -2,12 +2,14 @@ I enable the user to input text information. I support single-line text box when only one line of input is required, and a multi-line text box only if more than one line of input may be required. " Class { - #name : #TextFieldWebView, - #superclass : #FieldWebView, - #category : #'Willow-Core-WebViews' + #name : 'TextFieldWebView', + #superclass : 'FieldWebView', + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } TextFieldWebView class >> multiLineApplying: aComponentCommand [ ^ self @@ -16,7 +18,7 @@ TextFieldWebView class >> multiLineApplying: aComponentCommand [ applying: aComponentCommand ] -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } TextFieldWebView class >> singleLineApplying: aComponentCommand [ ^ self @@ -25,13 +27,13 @@ TextFieldWebView class >> singleLineApplying: aComponentCommand [ applying: aComponentCommand ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } TextFieldWebView >> identifierPrefix [ ^ 'text' ] -{ #category : #'private - Accessing' } +{ #category : 'private - Accessing' } TextFieldWebView >> textCodec [ ^ NullCodec new diff --git a/source/Willow-Core/TimeFieldWebView.class.st b/source/Willow-Core/TimeFieldWebView.class.st index b87a90e4..c262eee6 100644 --- a/source/Willow-Core/TimeFieldWebView.class.st +++ b/source/Willow-Core/TimeFieldWebView.class.st @@ -2,21 +2,23 @@ I represent a TextField containing times. " Class { - #name : #TimeFieldWebView, - #superclass : #FieldWebView, + #name : 'TimeFieldWebView', + #superclass : 'FieldWebView', #instVars : [ 'textCodec' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TimeFieldWebView class >> applying: aComponentCommand [ ^ self applying: aComponentCommand transformingWith: ISOTimeCodec new ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } TimeFieldWebView class >> applying: aComponentCommand transformingWith: aTextCodec [ ^ ( self @@ -26,31 +28,31 @@ TimeFieldWebView class >> applying: aComponentCommand transformingWith: aTextCod initializeTransformingWith: aTextCodec ] -{ #category : #'Time-Container-API' } +{ #category : 'Time-Container-API' } TimeFieldWebView >> changeTimeTo: aTime [ self changeModelTo: aTime ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } TimeFieldWebView >> identifierPrefix [ ^ 'time-field' ] -{ #category : #initialization } +{ #category : 'initialization' } TimeFieldWebView >> initializeTransformingWith: aTextCodec [ textCodec := aTextCodec ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } TimeFieldWebView >> textCodec [ ^ textCodec ] -{ #category : #'Time-Container-API' } +{ #category : 'Time-Container-API' } TimeFieldWebView >> time [ ^ self model diff --git a/source/Willow-Core/TriggeringPolicy.class.st b/source/Willow-Core/TriggeringPolicy.class.st index 0f9a5415..0c4c099b 100644 --- a/source/Willow-Core/TriggeringPolicy.class.st +++ b/source/Willow-Core/TriggeringPolicy.class.st @@ -1,10 +1,12 @@ Class { - #name : #TriggeringPolicy, - #superclass : #Object, - #category : #'Willow-Core-WebInteraction' + #name : 'TriggeringPolicy', + #superclass : 'Object', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #evaluating } +{ #category : 'evaluating' } TriggeringPolicy >> apply: anAsynchronousCall to: aComponent on: aCanvas [ self subclassResponsibility diff --git a/source/Willow-Core/UnorderedListWebView.class.st b/source/Willow-Core/UnorderedListWebView.class.st index 22200096..c9e342c1 100644 --- a/source/Willow-Core/UnorderedListWebView.class.st +++ b/source/Willow-Core/UnorderedListWebView.class.st @@ -2,8 +2,8 @@ I represent an unordered list supporting command application. " Class { - #name : #UnorderedListWebView, - #superclass : #WAPainter, + #name : 'UnorderedListWebView', + #superclass : 'WAPainter', #instVars : [ 'elements', 'commandToItem', @@ -11,10 +11,12 @@ Class { 'interactionInterpreter', 'identifierAssigner' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } UnorderedListWebView class >> applying: aComponentCommand listing: anElementCollection applyingToEach: anElementCommand [ ^ self new @@ -23,19 +25,19 @@ UnorderedListWebView class >> applying: aComponentCommand listing: anElementColl applyingToEach: anElementCommand asWebComponentCommand ] -{ #category : #configuring } +{ #category : 'configuring' } UnorderedListWebView >> beIdentifiable [ ^ identifierAssigner beRequired ] -{ #category : #accessing } +{ #category : 'accessing' } UnorderedListWebView >> identifierOn: aCanvas [ ^ identifierAssigner identifierOn: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } UnorderedListWebView >> initializeApplying: aComponentCommand listing: anElementCollection applyingToEach: anElementCommand [ elements := anElementCollection. @@ -45,13 +47,13 @@ UnorderedListWebView >> initializeApplying: aComponentCommand listing: anElement identifierAssigner := IdentifierAssigner prefixedBy: 'unordered-list' ] -{ #category : #configuring } +{ #category : 'configuring' } UnorderedListWebView >> on [ ^ interactionInterpreter ] -{ #category : #rendering } +{ #category : 'rendering' } UnorderedListWebView >> renderContentOn: aCanvas [ | list | diff --git a/source/Willow-Core/UserAgentCommand.class.st b/source/Willow-Core/UserAgentCommand.class.st index 86487c41..e059f320 100644 --- a/source/Willow-Core/UserAgentCommand.class.st +++ b/source/Willow-Core/UserAgentCommand.class.st @@ -2,46 +2,48 @@ I'm a WebInteractionCommand that allows for arbitrary code execution in the client " Class { - #name : #UserAgentCommand, - #superclass : #WebInteractionCommand, + #name : 'UserAgentCommand', + #superclass : 'WebInteractionCommand', #instVars : [ 'serverIndependentInstructions' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } UserAgentCommand class >> executing: aServerIndependentInstruction [ ^ self new initializeExecuting: aServerIndependentInstruction ] -{ #category : #initialization } +{ #category : 'initialization' } UserAgentCommand >> initializeExecuting: aServerIndependentInstruction [ serverIndependentInstructions := WebInteractionInstructions directingTo: aServerIndependentInstruction ] -{ #category : #accessing } +{ #category : 'accessing' } UserAgentCommand >> modelLoadingInstructions [ ^ WebInteractionInstructions empty ] -{ #category : #accessing } +{ #category : 'accessing' } UserAgentCommand >> priorityActions [ ^ #() ] -{ #category : #testing } +{ #category : 'testing' } UserAgentCommand >> requiresSerialization [ ^ false ] -{ #category : #accessing } +{ #category : 'accessing' } UserAgentCommand >> serverIndependentInstructions [ ^ serverIndependentInstructions diff --git a/source/Willow-Core/WAApplicationDeployed.extension.st b/source/Willow-Core/WAApplicationDeployed.extension.st index 059ba628..a2e87413 100644 --- a/source/Willow-Core/WAApplicationDeployed.extension.st +++ b/source/Willow-Core/WAApplicationDeployed.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #WAApplicationDeployed } +Extension { #name : 'WAApplicationDeployed' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAApplicationDeployed >> configureErrorHandlerTo: aWAApplication using: aWillowApplication [ aWillowApplication configureErrorHandlerInDeployedModeTo: aWAApplication diff --git a/source/Willow-Core/WADeploymentMode.extension.st b/source/Willow-Core/WADeploymentMode.extension.st index d75e2dba..fd8a9378 100644 --- a/source/Willow-Core/WADeploymentMode.extension.st +++ b/source/Willow-Core/WADeploymentMode.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #WADeploymentMode } +Extension { #name : 'WADeploymentMode' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WADeploymentMode >> configureErrorHandlerTo: aWAApplication using: aWillowApplication [ self subclassResponsibility diff --git a/source/Willow-Core/WAHtmlCanvas.extension.st b/source/Willow-Core/WAHtmlCanvas.extension.st index 5fc2b534..ff89eacc 100644 --- a/source/Willow-Core/WAHtmlCanvas.extension.st +++ b/source/Willow-Core/WAHtmlCanvas.extension.st @@ -1,24 +1,24 @@ -Extension { #name : #WAHtmlCanvas } +Extension { #name : 'WAHtmlCanvas' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAHtmlCanvas >> dialog [ ^ self tag: 'dialog' ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAHtmlCanvas >> every: aNumber millisecondsEvaluateAsAjaxScript: aScriptBlock until: aStoppingCondition [ self script: (self scriptToExecute: aScriptBlock asAjaxScriptEvery: aNumber millsecondsUnless: aStoppingCondition) ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAHtmlCanvas >> icon [ ^ self tag: 'i' ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAHtmlCanvas >> scriptToExecute: aScriptBlock asAjaxScriptEvery: aNumber millsecondsUnless: aStoppingCondition [ | asynchronousCall | diff --git a/source/Willow-Core/WAPainter.extension.st b/source/Willow-Core/WAPainter.extension.st index 680e2c2b..1feaa819 100644 --- a/source/Willow-Core/WAPainter.extension.st +++ b/source/Willow-Core/WAPainter.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #WAPainter } +Extension { #name : 'WAPainter' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WAPainter >> componentSupplier [ ^ self session componentSupplier diff --git a/source/Willow-Core/WATagBrush.extension.st b/source/Willow-Core/WATagBrush.extension.st index 792554e2..2653f807 100644 --- a/source/Willow-Core/WATagBrush.extension.st +++ b/source/Willow-Core/WATagBrush.extension.st @@ -1,24 +1,24 @@ -Extension { #name : #WATagBrush } +Extension { #name : 'WATagBrush' } -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WATagBrush >> apply: aBlockOrComponentCommand [ aBlockOrComponentCommand asWebComponentCommand applyTo: self on: canvas ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WATagBrush >> beIdentifiable [ self ensureId ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WATagBrush >> interactUsing: anInteractionInterpreter [ anInteractionInterpreter applyTo: self on: canvas ] -{ #category : #'*Willow-Core' } +{ #category : '*Willow-Core' } WATagBrush >> with: aRenderable applying: aBlockOrWebComponentCommand [ self diff --git a/source/Willow-Core/WebComponentCommand.class.st b/source/Willow-Core/WebComponentCommand.class.st index 6bb3623e..7598dab9 100644 --- a/source/Willow-Core/WebComponentCommand.class.st +++ b/source/Willow-Core/WebComponentCommand.class.st @@ -2,33 +2,35 @@ Abstract for the component commands, each subclass should do a single change to a tag element. " Class { - #name : #WebComponentCommand, - #superclass : #GRObject, + #name : 'WebComponentCommand', + #superclass : 'GRObject', #pools : [ 'Willow' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #combining } +{ #category : 'combining' } WebComponentCommand >> + aComponentCommand [ ^ CompositeComponentCommand applyingAll: (Array with: self with: aComponentCommand asWebComponentCommand) ] -{ #category : #processing } +{ #category : 'processing' } WebComponentCommand >> applyTo: aComponent on: aCanvas [ self subclassResponsibility ] -{ #category : #converting } +{ #category : 'converting' } WebComponentCommand >> asTableRowCommand [ ^WebComponentCommandToTableRowCommandAdapter adapting: self ] -{ #category : #converting } +{ #category : 'converting' } WebComponentCommand >> asWebComponentCommand [ ^ self diff --git a/source/Willow-Core/WebComponentCommandBuilder.class.st b/source/Willow-Core/WebComponentCommandBuilder.class.st index 8bc3ba7e..0a281f80 100644 --- a/source/Willow-Core/WebComponentCommandBuilder.class.st +++ b/source/Willow-Core/WebComponentCommandBuilder.class.st @@ -2,165 +2,167 @@ I'm a builder to ease the creation of component commands " Class { - #name : #WebComponentCommandBuilder, - #superclass : #GRObject, + #name : 'WebComponentCommandBuilder', + #superclass : 'GRObject', #pools : [ 'Willow' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #Configuring } +{ #category : 'Configuring' } WebComponentCommandBuilder >> addClass [ ^ ComponentClassificationCommandBuilder new ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebComponentCommandBuilder >> addScript [ ^ ComponentScriptCommandBuilder new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beAutofocused [ ^ AutoFocusComponentCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beDateInput [ ^ InputModeCommand asDate ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beDisabled [ ^ DisableComponentCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beEmailInput [ ^ InputModeCommand asEmail ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beNumberInput [ ^ InputModeCommand asNumber ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> bePasswordInput [ ^ InputModeCommand asPassword ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beReadOnly [ ^ ComponentReadOnlyCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beRequired [ ^ ComponentRequiredCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beTextInput [ ^ InputModeCommand asText ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> beTimeInput [ ^ InputModeCommand asTime ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> boundBetween: aLowerBound and: anUpperBound [ ^ ComponentBoundaryCommand between: aLowerBound and: anUpperBound ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> boundNotNegative [ ^ ComponentBoundaryCommand nonNegative ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> deselectAllOptions [ ^ DeselectAllOptionsCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> disableTabCycle [ ^ DisableComponentTabCycleCommand new ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> labelItemsWith: aBlockClosure [ ^ ListLabelingCommand with: aBlockClosure ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setARIAAttribute: aName to: aValue [ ^ ComponentAccessibilityEnrichmentCommand toDeclare: aName with: aValue ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setARIARoleTo: aRoleNameOrSymbol [ ^ self setAttribute: 'role' to: Constants >> #aria >> aRoleNameOrSymbol ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setAttribute: aName to: aValue [ ^ ComponentAttributeCommand named: aName with: aValue ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setCallbackTo: aBlockClosure [ ^ ComponentCallbackSettingCommand setting: aBlockClosure ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setData: aName to: aValue [ ^ ComponentMetadataCommand toDeclare: aName with: aValue ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setMaximumLengthTo: anInteger [ ^ InputFieldMaxLengthCommand allowingUpTo: anInteger ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setNameTo: aString [ ^ ComponentNamingCommand assigning: aString ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setPlaceholderTo: aSuggestion [ ^ ComponentPlaceholderCommand suggestedBy: aSuggestion ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setStyleTo: aDeclarationAction [ | declarationBlock | @@ -170,19 +172,19 @@ WebComponentCommandBuilder >> setStyleTo: aDeclarationAction [ ^ SetComponentStyleCommand setting: declarationBlock ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setTabIndexTo: anInteger [ ^ SetComponentTabIndexCommand setting: anInteger ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> setTitleTo: aTitle [ ^ ComponentTitleCommand toSet: aTitle ] -{ #category : #Building } +{ #category : 'Building' } WebComponentCommandBuilder >> when: aCondition apply: aComponentCommand [ ^ ConditionalComponentCommand applying: aComponentCommand when: aCondition diff --git a/source/Willow-Core/WebComponentCommandToTableRowCommandAdapter.class.st b/source/Willow-Core/WebComponentCommandToTableRowCommandAdapter.class.st index 04b7b3ad..cc995d93 100644 --- a/source/Willow-Core/WebComponentCommandToTableRowCommandAdapter.class.st +++ b/source/Willow-Core/WebComponentCommandToTableRowCommandAdapter.class.st @@ -2,27 +2,29 @@ I'm an adapter for web component commands allowing to use it as table row commnands " Class { - #name : #WebComponentCommandToTableRowCommandAdapter, - #superclass : #TableRowCommand, + #name : 'WebComponentCommandToTableRowCommandAdapter', + #superclass : 'TableRowCommand', #instVars : [ 'command' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } WebComponentCommandToTableRowCommandAdapter class >> adapting: aWebComponentCommand [ ^self new initializeAdapting: aWebComponentCommand ] -{ #category : #Applying } +{ #category : 'Applying' } WebComponentCommandToTableRowCommandAdapter >> applyTo: aTableRow for: aRelatedObject on: aCanvas [ command applyTo: aTableRow on: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } WebComponentCommandToTableRowCommandAdapter >> initializeAdapting: aWebComponentCommand [ command := aWebComponentCommand diff --git a/source/Willow-Core/WebComponentInteraction.class.st b/source/Willow-Core/WebComponentInteraction.class.st index a0e0d242..adffb40a 100644 --- a/source/Willow-Core/WebComponentInteraction.class.st +++ b/source/Willow-Core/WebComponentInteraction.class.st @@ -1,15 +1,17 @@ Class { - #name : #WebComponentInteraction, - #superclass : #Object, + #name : 'WebComponentInteraction', + #superclass : 'Object', #instVars : [ 'commands', 'serializationCommand', 'triggerPolicy' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebComponentInteraction class >> neverTriggered [ ^self @@ -17,7 +19,7 @@ WebComponentInteraction class >> neverTriggered [ serializingWith: NullWebInteractionCommand new ] -{ #category : #private } +{ #category : 'private' } WebComponentInteraction class >> triggeredAccordingTo: aTriggerPolicy serializingWith: aSerializationCommand [ ^ self new @@ -25,13 +27,13 @@ WebComponentInteraction class >> triggeredAccordingTo: aTriggerPolicy serializin serializingWith: aSerializationCommand ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebComponentInteraction class >> triggeredOnDocumentLoad [ ^ self triggeredAccordingTo: DocumentLoadTrigger new serializingWith: NullWebInteractionCommand new ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebComponentInteraction class >> triggeredOnEvaluationOf: aSelector withAll: aParameterArray [ ^ self @@ -39,7 +41,7 @@ WebComponentInteraction class >> triggeredOnEvaluationOf: aSelector withAll: aPa serializingWith: SerializationCommand forCurrentObject ] -{ #category : #evaluating } +{ #category : 'evaluating' } WebComponentInteraction >> applyTo: aComponent on: aCanvas [ ( WebInteractionWriter triggering: commands serializingWith: serializationCommand ) @@ -48,7 +50,7 @@ WebComponentInteraction >> applyTo: aComponent on: aCanvas [ on: aCanvas ] -{ #category : #initialization } +{ #category : 'initialization' } WebComponentInteraction >> initializeTriggeredAccordingTo: aTriggerPolicy serializingWith: aSerializationCommand [ triggerPolicy := aTriggerPolicy. @@ -56,7 +58,7 @@ WebComponentInteraction >> initializeTriggeredAccordingTo: aTriggerPolicy serial serializationCommand := aSerializationCommand ] -{ #category : #configuring } +{ #category : 'configuring' } WebComponentInteraction >> onTriggerExecute: aCommand [ commands add: aCommand diff --git a/source/Willow-Core/WebInteractionCommand.class.st b/source/Willow-Core/WebInteractionCommand.class.st index 4373f5b5..d150bc7b 100644 --- a/source/Willow-Core/WebInteractionCommand.class.st +++ b/source/Willow-Core/WebInteractionCommand.class.st @@ -1,37 +1,39 @@ Class { - #name : #WebInteractionCommand, - #superclass : #Object, + #name : 'WebInteractionCommand', + #superclass : 'Object', #pools : [ 'Willow' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #accessing } +{ #category : 'accessing' } WebInteractionCommand >> modelLoadingInstructions [ ^ self subclassResponsibility ] -{ #category : #accessing } +{ #category : 'accessing' } WebInteractionCommand >> priorityActions [ ^ self subclassResponsibility ] -{ #category : #testing } +{ #category : 'testing' } WebInteractionCommand >> requiresSerialization [ self subclassResponsibility ] -{ #category : #accessing } +{ #category : 'accessing' } WebInteractionCommand >> serializationCoverage [ ^ #() ] -{ #category : #accessing } +{ #category : 'accessing' } WebInteractionCommand >> serverIndependentInstructions [ ^ self subclassResponsibility diff --git a/source/Willow-Core/WebInteractionInstructions.class.st b/source/Willow-Core/WebInteractionInstructions.class.st index dff627df..3c2afcd4 100644 --- a/source/Willow-Core/WebInteractionInstructions.class.st +++ b/source/Willow-Core/WebInteractionInstructions.class.st @@ -1,53 +1,55 @@ Class { - #name : #WebInteractionInstructions, - #superclass : #Object, + #name : 'WebInteractionInstructions', + #superclass : 'Object', #instVars : [ 'instructions' ], #classVars : [ 'Empty' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'private - instance creation' } +{ #category : 'private - instance creation' } WebInteractionInstructions class >> containingAll: anAssociationCollection [ ^ self new initializeContainingAll: anAssociationCollection ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInstructions class >> directingTo: aBlock [ ^ self directingTo: aBlock orderedAt: 1 ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInstructions class >> directingTo: aBlock orderedAt: aPosition [ ^ self containingAll: ( Array with: aPosition -> aBlock ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInstructions class >> empty [ ^ Empty ] -{ #category : #'class initialization' } +{ #category : 'class initialization' } WebInteractionInstructions class >> initialize [ Empty := self containingAll: #() ] -{ #category : #processing } +{ #category : 'processing' } WebInteractionInstructions >> appendTo: aScript on: aCanvas [ ( self statementsOn: aCanvas ) do: [ :statement | aScript << statement ] ] -{ #category : #combining } +{ #category : 'combining' } WebInteractionInstructions >> combinedWith: otherInstructions [ self isEmpty @@ -62,13 +64,13 @@ WebInteractionInstructions >> combinedWith: otherInstructions [ yourself ) ] -{ #category : #initialization } +{ #category : 'initialization' } WebInteractionInstructions >> initializeContainingAll: anAssociationCollection [ instructions := anAssociationCollection ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } WebInteractionInstructions >> instructions [ "Only to be used by #combinedWith:" @@ -76,19 +78,19 @@ WebInteractionInstructions >> instructions [ ^ instructions ] -{ #category : #testing } +{ #category : 'testing' } WebInteractionInstructions >> isEmpty [ ^ instructions isEmpty ] -{ #category : #testing } +{ #category : 'testing' } WebInteractionInstructions >> notEmpty [ ^ instructions notEmpty ] -{ #category : #accessing } +{ #category : 'accessing' } WebInteractionInstructions >> statementsOn: aCanvas [ ^ ( ( instructions sorted: [ :a :b | a key <= b key ] ) diff --git a/source/Willow-Core/WebInteractionInterpreter.class.st b/source/Willow-Core/WebInteractionInterpreter.class.st index ebbd661f..92e015a1 100644 --- a/source/Willow-Core/WebInteractionInterpreter.class.st +++ b/source/Willow-Core/WebInteractionInterpreter.class.st @@ -1,13 +1,15 @@ Class { - #name : #WebInteractionInterpreter, - #superclass : #WebInteractionInterpreterBehavior, + #name : 'WebInteractionInterpreter', + #superclass : 'WebInteractionInterpreterBehavior', #instVars : [ 'interaction' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInterpreter class >> calling: anEventName serializingWith: serializationCommand [ ^ self @@ -17,160 +19,160 @@ WebInteractionInterpreter class >> calling: anEventName serializingWith: seriali serializingWith: serializationCommand ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInterpreter class >> forEvaluationOf: aSelector withAll: aParameterArray [ ^ self workingWith: ( WebComponentInteraction triggeredOnEvaluationOf: aSelector withAll: aParameterArray ) ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInterpreter class >> forInstantEvaluation [ ^ self workingWith: WebComponentInteraction triggeredOnDocumentLoad ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionInterpreter class >> workingWith: aWebComponentInteraction [ ^ self new initializeWorkingWith: aWebComponentInteraction ] -{ #category : #evaluating } +{ #category : 'evaluating' } WebInteractionInterpreter >> applyTo: aComponent on: aCanvas [ interaction applyTo: aComponent on: aCanvas ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreter >> closeAllDialogs [ interaction onTriggerExecute: DialogClosingCommand forAllDialogs ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreter >> closeLastDialog [ interaction onTriggerExecute: DialogClosingCommand onlyForLastDialog ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> confirmAsking: aQuestion [ interaction onTriggerExecute: (ConfirmationCommand asking: aQuestion) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> disable [ interaction onTriggerExecute: ComponentEnableStatusChangingCommand disablingCurrentComponent ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> disable: aComponent [ interaction onTriggerExecute: ( ComponentEnableStatusChangingCommand disabling: aComponent ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> enable: aComponent [ interaction onTriggerExecute: ( ComponentEnableStatusChangingCommand enabling: aComponent ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> focus: anIdentifiedWebView [ interaction onTriggerExecute: ( ComponentFocusingCommand for: anIdentifiedWebView ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> focusUsing: aComponentProvider [ interaction onTriggerExecute: ( ComponentFocusingCommand findingComponentUsing: aComponentProvider ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> inform: aMessage [ interaction onTriggerExecute: (AlertingCommand stating: aMessage) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> informSelection [ interaction onTriggerExecute: AlertingCommand informingSelection ] -{ #category : #initialization } +{ #category : 'initialization' } WebInteractionInterpreter >> initializeWorkingWith: aWebComponentInteraction [ interaction := aWebComponentInteraction ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreter >> open: aView [ interaction onTriggerExecute: (DialogOpeningCommand alwaysOpening: aView) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> remove: anIdentifiedView [ interaction onTriggerExecute: ( ComponentRemovingCommand for: anIdentifiedView ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> render: anIdentifiedView [ interaction onTriggerExecute: ( RenderingCommand for: anIdentifiedView ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> renderAll: anIdentifiedViewCollection [ interaction onTriggerExecute: ( RenderingCommand forAll: anIdentifiedViewCollection ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> scrollingIntoView: anIdentifier [ interaction onTriggerExecute: (ScrollIntoViewCommand withComponentIdentifierProvidedBy: [ anIdentifier ]) ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> serializeChildForm [ interaction onTriggerExecute: SerializationCommand forChildForm ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> serializeContainerForm [ interaction onTriggerExecute: SerializationCommand forParentForm ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> serializeForm: anIdentifiedForm [ interaction onTriggerExecute: (SerializationCommand forForm: anIdentifiedForm) ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> serializeIt [ interaction onTriggerExecute: SerializationCommand forCurrentObject ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> serializeWithHiddenInputs [ interaction onTriggerExecute: SerializationCommand forCurrentObjectWithHiddenInputs ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> serverDo: aCallbackBlock [ interaction @@ -181,7 +183,7 @@ WebInteractionInterpreter >> serverDo: aCallbackBlock [ requiring: Optional unused ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> setValueTo: aValueProvider thenTriggerChangeOf: aView [ aView beIdentifiable. @@ -192,7 +194,7 @@ WebInteractionInterpreter >> setValueTo: aValueProvider thenTriggerChangeOf: aVi valueFrom: aValueProvider ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> setValueTo: aValueProvider withoutTriggeringChangeOf: aView [ aView beIdentifiable. @@ -203,20 +205,20 @@ WebInteractionInterpreter >> setValueTo: aValueProvider withoutTriggeringChangeO valueFrom: aValueProvider ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> showLoadingNotificationDisplaying: aWebView applying: aComponentCommand [ interaction onTriggerExecute: ( LoadingNotificationCommand displaying: aWebView applying: aComponentCommand ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> showLoadingNotificationStyledAsAll: classes [ interaction onTriggerExecute: ( LoadingNotificationCommand onPageTopWithClasses: classes ) ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> submitForm: anIdentifiedForm [ interaction @@ -224,26 +226,26 @@ WebInteractionInterpreter >> submitForm: anIdentifiedForm [ ( FormSubmitCommand findingComponentUsing: [ :aCanvas | aCanvas locate: anIdentifiedForm ] ) ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreter >> submitFormStyledAs: aCssStyle [ interaction onTriggerExecute: (FormSubmitCommand forFormStyledAs: aCssStyle) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> temporarilyDisableAndTransform: anIdentifiedView into: aView [ interaction onTriggerExecute: ( TemporarilyDisablingCommand transforming: anIdentifiedView into: aView ) ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreter >> temporarilyDisableAndTransformInto: aView [ interaction onTriggerExecute: ( TemporarilyDisablingCommand transformingCurrentViewInto: aView ) ] -{ #category : #'Configuring - CSS' } +{ #category : 'Configuring - CSS' } WebInteractionInterpreter >> updateCssClasses: aCssClassConfigurationBlock onElementsMatching: anElementMatchingBlock [ @@ -254,14 +256,14 @@ WebInteractionInterpreter >> updateCssClasses: aCssClassConfigurationBlock targeting: anElementMatchingBlock ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> userAgentDo: aServerIndependentAction [ interaction onTriggerExecute: (UserAgentCommand executing: aServerIndependentAction) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> with: aJavascriptFromUserAgent onlyWhen: aJavascriptBooleanStatement serverDo: aCallbackBlock [ interaction @@ -272,7 +274,7 @@ WebInteractionInterpreter >> with: aJavascriptFromUserAgent onlyWhen: aJavascrip requiring: ( Optional containing: aJavascriptFromUserAgent ) ) ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreter >> with: aJavascriptFromUserAgent serverDo: aCallbackBlock [ interaction diff --git a/source/Willow-Core/WebInteractionInterpreterBehavior.class.st b/source/Willow-Core/WebInteractionInterpreterBehavior.class.st index 3620a826..48f3cf6c 100644 --- a/source/Willow-Core/WebInteractionInterpreterBehavior.class.st +++ b/source/Willow-Core/WebInteractionInterpreterBehavior.class.st @@ -1,148 +1,150 @@ Class { - #name : #WebInteractionInterpreterBehavior, - #superclass : #WAObject, - #category : #'Willow-Core-WebInteraction' + #name : 'WebInteractionInterpreterBehavior', + #superclass : 'WAObject', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreterBehavior >> closeAllDialogs [ self subclassResponsibility ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreterBehavior >> closeLastDialog [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> confirmAsking: aQuestion [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> disable [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> disable: aComponent [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> enable: aComponent [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> focus: anIdentifiedWebView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> focusUsing: aComponentProvider [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> inform: aMessage [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> informSelection [ self subclassResponsibility ] -{ #category : #'Configuring - Dialogs' } +{ #category : 'Configuring - Dialogs' } WebInteractionInterpreterBehavior >> open: aView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> remove: anIdentifiedView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> render: anIdentifiedView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> renderAll: anIdentifiedViewCollection [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> scrollingIntoView: anIdentifier [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> serializeChildForm [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> serializeContainerForm [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> serializeForm: anIdentifiedForm [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> serializeIt [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> serializeWithHiddenInputs [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> serverDo: aCallbackBlock [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> setValueTo: aValueProvider thenTriggerChangeOf: aView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> setValueTo: aValueProvider withoutTriggeringChangeOf: aView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> show: aRenderable whileCallingServerToRender: anIdentifiedWebView [ "This will replace anIdentifiedWebView contents with aRenderable in the DOM before doing the server call, @@ -153,43 +155,43 @@ WebInteractionInterpreterBehavior >> show: aRenderable whileCallingServerToRende render: anIdentifiedWebView ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> showLoadingNotificationDisplaying: aWebView applying: aComponentCommand [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> showLoadingNotificationStyledAsAll: classes [ self subclassResponsibility ] -{ #category : #'Configuring - Serialization' } +{ #category : 'Configuring - Serialization' } WebInteractionInterpreterBehavior >> submitForm: anIdentifiedForm [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> submitFormStyledAs: aCssStyle [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> temporarilyDisableAndTransform: anIdentifiedView into: aView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> temporarilyDisableAndTransformInto: aView [ self subclassResponsibility ] -{ #category : #'Configuring - DOM' } +{ #category : 'Configuring - DOM' } WebInteractionInterpreterBehavior >> transform: anIdentifiedWebView into: aRenderable [ "This will replace anIdentifiedWebView content with aRenderable on the browser side" @@ -197,7 +199,7 @@ WebInteractionInterpreterBehavior >> transform: anIdentifiedWebView into: aRende self userAgentDo: [ :canvas | ( canvas locate: anIdentifiedWebView ) html: aRenderable ] ] -{ #category : #'Configuring - CSS' } +{ #category : 'Configuring - CSS' } WebInteractionInterpreterBehavior >> updateCssClasses: aCssClassConfigurationBlock [ self @@ -205,26 +207,26 @@ WebInteractionInterpreterBehavior >> updateCssClasses: aCssClassConfigurationBlo onElementsMatching: [ :canvas | canvas jQuery this ] ] -{ #category : #'Configuring - CSS' } +{ #category : 'Configuring - CSS' } WebInteractionInterpreterBehavior >> updateCssClasses: aCssClassConfigurationBlock onElementsMatching: anElementMatchingBlock [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> userAgentDo: aServerIndependentAction [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> with: aParameter onlyWhen: aStringCondition serverDo: aCallbackBlock [ self subclassResponsibility ] -{ #category : #Configuring } +{ #category : 'Configuring' } WebInteractionInterpreterBehavior >> with: aParameter serverDo: aCallbackBlock [ self subclassResponsibility diff --git a/source/Willow-Core/WebInteractionWriter.class.st b/source/Willow-Core/WebInteractionWriter.class.st index a8322d3b..87c2e86f 100644 --- a/source/Willow-Core/WebInteractionWriter.class.st +++ b/source/Willow-Core/WebInteractionWriter.class.st @@ -1,6 +1,6 @@ Class { - #name : #WebInteractionWriter, - #superclass : #Object, + #name : 'WebInteractionWriter', + #superclass : 'Object', #instVars : [ 'serializationCommand', 'priorityActions', @@ -8,23 +8,25 @@ Class { 'modelLoadingInstructions', 'serializationCoverage' ], - #category : #'Willow-Core-WebInteraction' + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebInteractionWriter class >> triggering: aCommandCollection serializingWith: aSerializationCommand [ ^ self new initializeFor: aCommandCollection serializingWith: aSerializationCommand ] -{ #category : #processing } +{ #category : 'processing' } WebInteractionWriter >> applyTo: aComponent accordingTo: aTriggerPolicy on: aCanvas [ self shouldApplyActions then: [ aTriggerPolicy apply: ( self commandToExecuteOn: aCanvas ) to: aComponent on: aCanvas ] ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } WebInteractionWriter >> asynchronousCallToAffect: aCanvas [ | serverCall | @@ -35,7 +37,7 @@ WebInteractionWriter >> asynchronousCallToAffect: aCanvas [ ^ serverCall ] -{ #category : #'private - accessing' } +{ #category : 'private - accessing' } WebInteractionWriter >> commandToExecuteOn: aCanvas [ ^ [ | script | @@ -49,14 +51,14 @@ WebInteractionWriter >> commandToExecuteOn: aCanvas [ inWhichCase: [ self asynchronousCallToAffect: aCanvas ] ] -{ #category : #'private - processing' } +{ #category : 'private - processing' } WebInteractionWriter >> complete: anAsynchronousCall withResponseOn: aCanvas [ anAsynchronousCall script: [ :subScript | modelLoadingInstructions appendTo: subScript on: aCanvas ] ] -{ #category : #initialization } +{ #category : 'initialization' } WebInteractionWriter >> initializeFor: aCommandCollection serializingWith: aSerializationCommand [ serializationCommand := aSerializationCommand. @@ -70,7 +72,7 @@ WebInteractionWriter >> initializeFor: aCommandCollection serializingWith: aSeri self preventSerializationCoverageConflict ] -{ #category : #'private - preconditions' } +{ #category : 'private - preconditions' } WebInteractionWriter >> preventSerializationCoverageConflict [ serializationCoverage @@ -82,7 +84,7 @@ WebInteractionWriter >> preventSerializationCoverageConflict [ ] ] -{ #category : #'private - processing' } +{ #category : 'private - processing' } WebInteractionWriter >> registerActionsOf: aCommand [ priorityActions addAll: aCommand priorityActions. @@ -95,7 +97,7 @@ WebInteractionWriter >> registerActionsOf: aCommand [ serializationCoverage addAll: aCommand serializationCoverage ] -{ #category : #'private - processing' } +{ #category : 'private - processing' } WebInteractionWriter >> registerActionsOfAll: aCommandCollection [ | serializationRequired | @@ -109,13 +111,13 @@ WebInteractionWriter >> registerActionsOfAll: aCommandCollection [ serializationRequired then: [ self registerActionsOf: serializationCommand ] ] -{ #category : #'private - testing' } +{ #category : 'private - testing' } WebInteractionWriter >> shouldApplyActions [ ^ serverIndependentInstructions notEmpty or: [ self shouldApplyAsynchronousCall ] ] -{ #category : #'private - testing' } +{ #category : 'private - testing' } WebInteractionWriter >> shouldApplyAsynchronousCall [ ^ priorityActions notEmpty or: [ modelLoadingInstructions notEmpty ] diff --git a/source/Willow-Core/WebTableColumnRenderer.class.st b/source/Willow-Core/WebTableColumnRenderer.class.st index e5a7f00d..b6c345e5 100644 --- a/source/Willow-Core/WebTableColumnRenderer.class.st +++ b/source/Willow-Core/WebTableColumnRenderer.class.st @@ -2,8 +2,8 @@ I'm responsible of rendering a column and header in a table. " Class { - #name : #WebTableColumnRenderer, - #superclass : #WebTableColumnRendererBehavior, + #name : 'WebTableColumnRenderer', + #superclass : 'WebTableColumnRendererBehavior', #instVars : [ 'title', 'renderingCommand', @@ -12,10 +12,12 @@ Class { 'footerRenderingCommand', 'commandToFooterCell' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'Instance Creation' } +{ #category : 'Instance Creation' } WebTableColumnRenderer class >> titled: aName applyingToEachCell: aCommandToCell renderingWith: aRenderingCommand applyingToHeading: aCommandToHeading summarizedWith: aFooterRenderingCommand applyingToFooter: aCommantToFooterCell [ ^ self new @@ -27,7 +29,7 @@ WebTableColumnRenderer class >> titled: aName applyingToEachCell: aCommandToCell applyingToFooter: aCommantToFooterCell asWebComponentCommand ] -{ #category : #initialization } +{ #category : 'initialization' } WebTableColumnRenderer >> initializeTitled: aTitle applyingToEachCell: aCommandToCell renderingWith: aRenderingCommand applyingToHeading: aCommandToHeading summarizedWith: aFooterRenderingCommand applyingToFooter: aCommandToFooterCell [ title := aTitle. @@ -38,19 +40,19 @@ WebTableColumnRenderer >> initializeTitled: aTitle applyingToEachCell: aCommandT commandToFooterCell := aCommandToFooterCell ] -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRenderer >> renderCellAt: anIndex for: anItem on: aCanvas [ aCanvas tableData with: (renderingCommand cull: anItem cull: anIndex) applying: commandToCell ] -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRenderer >> renderFooterCellSummarizing: tableContents on: aCanvas [ aCanvas tableData with: (footerRenderingCommand cull: tableContents) applying: commandToCell + commandToFooterCell ] -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRenderer >> renderHeadingOn: aCanvas [ aCanvas tableHeading with: title applying: commandToCell + commandToHeading diff --git a/source/Willow-Core/WebTableColumnRendererBehavior.class.st b/source/Willow-Core/WebTableColumnRendererBehavior.class.st index 166642b5..373c040e 100644 --- a/source/Willow-Core/WebTableColumnRendererBehavior.class.st +++ b/source/Willow-Core/WebTableColumnRendererBehavior.class.st @@ -2,24 +2,26 @@ I'm an abstract class defining the required behavior for rendering columns in a table " Class { - #name : #WebTableColumnRendererBehavior, - #superclass : #Object, - #category : #'Willow-Core-WebViews' + #name : 'WebTableColumnRendererBehavior', + #superclass : 'Object', + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRendererBehavior >> renderCellAt: anIndex for: anItem on: aCanvas [ self subclassResponsibility ] -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRendererBehavior >> renderFooterCellSummarizing: tableContents on: aCanvas [ self subclassResponsibility ] -{ #category : #rendering } +{ #category : 'rendering' } WebTableColumnRendererBehavior >> renderHeadingOn: aCanvas [ self subclassResponsibility diff --git a/source/Willow-Core/WebTableColumnRendererBuilder.class.st b/source/Willow-Core/WebTableColumnRendererBuilder.class.st index 2abb68b8..849e0f7e 100644 --- a/source/Willow-Core/WebTableColumnRendererBuilder.class.st +++ b/source/Willow-Core/WebTableColumnRendererBuilder.class.st @@ -2,8 +2,8 @@ I'm a builder of table column renderers " Class { - #name : #WebTableColumnRendererBuilder, - #superclass : #GRObject, + #name : 'WebTableColumnRendererBuilder', + #superclass : 'GRObject', #instVars : [ 'title', 'renderingCommandBinding', @@ -13,22 +13,24 @@ Class { 'footerCommand', 'tableBuilder' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } WebTableColumnRendererBuilder class >> on: aTableWebViewBuilder [ ^ self new initializeOn: aTableWebViewBuilder ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> applyingToEachCell: aCellCommand [ cellCommand := aCellCommand ] -{ #category : #building } +{ #category : 'building' } WebTableColumnRendererBuilder >> build [ ^ WebTableColumnRenderer @@ -40,7 +42,7 @@ WebTableColumnRendererBuilder >> build [ applyingToFooter: footerCommand ] -{ #category : #initialization } +{ #category : 'initialization' } WebTableColumnRendererBuilder >> initializeOn: aTableWebViewBuilder [ tableBuilder := aTableWebViewBuilder. @@ -52,19 +54,19 @@ WebTableColumnRendererBuilder >> initializeOn: aTableWebViewBuilder [ footerCommand := [ ] ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> rendering: aRenderingCommand [ renderingCommandBinding := Binding to: aRenderingCommand ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> summarizedWith: aFooterRenderingCommand [ self summarizedWith: aFooterRenderingCommand applying: [ ] ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> summarizedWith: aFooterRenderingCommand applying: aCommandToFooter [ footerRenderingCommand := aFooterRenderingCommand. @@ -72,13 +74,13 @@ WebTableColumnRendererBuilder >> summarizedWith: aFooterRenderingCommand applyin tableBuilder renderFooter ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> titled: aRenderable [ self titled: aRenderable applying: [ ] ] -{ #category : #configuring } +{ #category : 'configuring' } WebTableColumnRendererBuilder >> titled: aRenderable applying: aHeadingCommand [ title := aRenderable . diff --git a/source/Willow-Core/Willow.class.st b/source/Willow-Core/Willow.class.st index 492be64c..dfe191f0 100644 --- a/source/Willow-Core/Willow.class.st +++ b/source/Willow-Core/Willow.class.st @@ -2,8 +2,8 @@ I'm a shared pool providing access to constants and classes defined by the lilbrary " Class { - #name : #Willow, - #superclass : #SharedPool, + #name : 'Willow', + #superclass : 'SharedPool', #classVars : [ 'Classification', 'Constants' @@ -11,22 +11,24 @@ Class { #pools : [ 'RenoirSt' ], - #category : #'Willow-Core-Frontend' + #category : 'Willow-Core-Frontend', + #package : 'Willow-Core', + #tag : 'Frontend' } -{ #category : #accessing } +{ #category : 'accessing' } Willow class >> classification [ ^ Classification ] -{ #category : #accessing } +{ #category : 'accessing' } Willow class >> constants [ ^ Constants ] -{ #category : #initialization } +{ #category : 'initialization' } Willow class >> initialize [ @@ -34,7 +36,7 @@ Willow class >> initialize [ self initializeClasses ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeARIAConstants [ "Checkout https://www.w3.org/TR/wai-aria/#roles_categorization" @@ -49,7 +51,7 @@ Willow class >> initializeARIAConstants [ initializeWindowRoles ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeClasses [ @@ -62,7 +64,7 @@ Willow class >> initializeClasses [ bind: #disabledComponent to: 'willow-disabled-component' ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeConstants [ @@ -78,7 +80,7 @@ Willow class >> initializeConstants [ self initializeARIAConstants ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeDocumentStructureRoles [ @@ -110,7 +112,7 @@ Willow class >> initializeDocumentStructureRoles [ bind: #tooltip to: 'tooltip' ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeLandmarkRoles [ @@ -125,7 +127,7 @@ Willow class >> initializeLandmarkRoles [ bind: #search to: 'search' ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeLiveRegionRoles [ @@ -137,7 +139,7 @@ Willow class >> initializeLiveRegionRoles [ bind: #timer to: 'timer' ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeWidgetRoles [ @@ -173,7 +175,7 @@ Willow class >> initializeWidgetRoles [ bind: #treegrid to: 'treegrid' ] -{ #category : #'private - initialization' } +{ #category : 'private - initialization' } Willow class >> initializeWindowRoles [ diff --git a/source/Willow-Core/WillowApplication.class.st b/source/Willow-Core/WillowApplication.class.st index 1c47ece3..2bec82c6 100644 --- a/source/Willow-Core/WillowApplication.class.st +++ b/source/Willow-Core/WillowApplication.class.st @@ -2,27 +2,29 @@ I'm a basic Willow application providing some guidance to the developers. " Class { - #name : #WillowApplication, - #superclass : #WAComponent, + #name : 'WillowApplication', + #superclass : 'WAComponent', #pools : [ 'Willow' ], - #category : #'Willow-Core-Applications' + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication class >> applicationTitle [ ^self subclassResponsibility ] -{ #category : #configuring } +{ #category : 'configuring' } WillowApplication class >> configureErrorHandlerInDeployedModeTo: aWAApplication [ aWAApplication filter configuration at: #exceptionHandler put: self errorHandlerFactory ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication class >> errorHandlerFactory [ "By default we don't do anything special with the AJAX errors, but my subclasses can specify some specific handling." @@ -30,19 +32,19 @@ WillowApplication class >> errorHandlerFactory [ ^ AjaxAwareErrorHandlerFactory new ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication class >> handlerName [ ^self subclassResponsibility ] -{ #category : #'private-utility' } +{ #category : 'private-utility' } WillowApplication class >> installFileHandlerAccordingTo: theDeploymentMode [ WADeploymentAwareFileHandler installAsFileHandlerAccordingTo: theDeploymentMode ] -{ #category : #'private-utility' } +{ #category : 'private-utility' } WillowApplication class >> registerAsApplicationUsing: deploymentModeClass [ | application | @@ -56,81 +58,81 @@ WillowApplication class >> registerAsApplicationUsing: deploymentModeClass [ ^ application ] -{ #category : #utility } +{ #category : 'utility' } WillowApplication class >> registerAsDeployedApplication [ ^ self registerAsApplicationUsing: WAApplicationDeployed ] -{ #category : #utility } +{ #category : 'utility' } WillowApplication class >> registerAsDevelopmentApplication [ ^ self registerAsApplicationUsing: WAApplicationInDevelopment ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication class >> sessionClass [ ^ WillowSession ] -{ #category : #utility } +{ #category : 'utility' } WillowApplication class >> unregisterFromApplications [ WAEnvironment registerDefaultRequestHandlers. ^ WAAdmin unregister: self handlerName ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> applicationTitle [ ^self class applicationTitle ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> componentSupplierForApplication [ self subclassResponsibility ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> contentView [ ^ self subclassResponsibility ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> deploymentMode [ ^ (self session preferenceAt: WillowSystemConfiguration deploymentModeClassKey ifAbsent: [ WAApplicationInDevelopment ]) new ] -{ #category : #hooks } +{ #category : 'hooks' } WillowApplication >> initialRequest: aRequest [ self session startUpApplicationContextFor: self ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> jQueryLibrary [ ^ self subclassResponsibility ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> language [ ^ WALocale fromString: (self session preferenceAt: WillowSystemConfiguration languageKey ifAbsent: [ 'en' ]) ] -{ #category : #rendering } +{ #category : 'rendering' } WillowApplication >> renderContentOn: aCanvas [ aCanvas render: self contentView. self renderDialogAndNotificationSectionsOn: aCanvas ] -{ #category : #'private - rendering' } +{ #category : 'private - rendering' } WillowApplication >> renderDialogAndNotificationSectionsOn: aCanvas [ "Render dialog and notification sections. These are needed for the dialog and notification support." @@ -141,7 +143,7 @@ WillowApplication >> renderDialogAndNotificationSectionsOn: aCanvas [ aCanvas div id: Constants >> #willow >> #notificationSectionName ] -{ #category : #accessing } +{ #category : 'accessing' } WillowApplication >> requiredLibraries [ "This hook provides an easy way to include additional libraries to the ones declared by the component supplier" @@ -149,7 +151,7 @@ WillowApplication >> requiredLibraries [ ^ #() ] -{ #category : #updating } +{ #category : 'updating' } WillowApplication >> updateRoot: aRoot [ super updateRoot: aRoot. diff --git a/source/Willow-Core/WillowComponentBuilder.class.st b/source/Willow-Core/WillowComponentBuilder.class.st index 8bac355c..192de6dc 100644 --- a/source/Willow-Core/WillowComponentBuilder.class.st +++ b/source/Willow-Core/WillowComponentBuilder.class.st @@ -2,21 +2,23 @@ I'm an abstract subclass for component builders " Class { - #name : #WillowComponentBuilder, - #superclass : #GRObject, + #name : 'WillowComponentBuilder', + #superclass : 'GRObject', #pools : [ 'Willow' ], - #category : #'Willow-Core-WebViews' + #category : 'Willow-Core-WebViews', + #package : 'Willow-Core', + #tag : 'WebViews' } -{ #category : #building } +{ #category : 'building' } WillowComponentBuilder >> build [ ^ self buildApplying: [ :component | ] ] -{ #category : #building } +{ #category : 'building' } WillowComponentBuilder >> buildApplying: aComponentCommand [ ^ self subclassResponsibility diff --git a/source/Willow-Core/WillowJavascriptNamespace.class.st b/source/Willow-Core/WillowJavascriptNamespace.class.st index b800580f..d62c093b 100644 --- a/source/Willow-Core/WillowJavascriptNamespace.class.st +++ b/source/Willow-Core/WillowJavascriptNamespace.class.st @@ -2,30 +2,32 @@ I represent the Willow JS module " Class { - #name : #WillowJavascriptNamespace, - #superclass : #JSObject, - #category : #'Willow-Core-Applications' + #name : 'WillowJavascriptNamespace', + #superclass : 'JSObject', + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #Accessing } +{ #category : 'Accessing' } WillowJavascriptNamespace >> callServerFunction [ ^ self access: self constants >> #willow >> #callServerFunctionName ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowJavascriptNamespace >> handleAjaxErrorCallFunction [ ^ self access: self constants >> #willow >> #handleAjaxErrorCallFunctionName ] -{ #category : #printing } +{ #category : 'printing' } WillowJavascriptNamespace >> javascriptContentOn: aStream [ aStream nextPutAll: 'Willow' ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowJavascriptNamespace >> serverCall [ ^ (WillowServerCall context: self renderContext owner: self) @@ -33,13 +35,13 @@ WillowJavascriptNamespace >> serverCall [ yourself ] -{ #category : #Configuring } +{ #category : 'Configuring' } WillowJavascriptNamespace >> setCallServerFunctionTo: aJSFunction [ ^ self callServerFunction assign: aJSFunction ] -{ #category : #Configuring } +{ #category : 'Configuring' } WillowJavascriptNamespace >> setHandleAjaxErrorCallFunctionTo: aJSFunction [ ^ self handleAjaxErrorCallFunction assign: aJSFunction diff --git a/source/Willow-Core/WillowNamespaceFileMetadataLibrary.class.st b/source/Willow-Core/WillowNamespaceFileMetadataLibrary.class.st index 76dbfdd4..dda88093 100644 --- a/source/Willow-Core/WillowNamespaceFileMetadataLibrary.class.st +++ b/source/Willow-Core/WillowNamespaceFileMetadataLibrary.class.st @@ -2,40 +2,42 @@ I'm a library providing some basic object used to define and access some utility functions. " Class { - #name : #WillowNamespaceFileMetadataLibrary, - #superclass : #WADeploymentAwareFileMetadataLibrary, + #name : 'WillowNamespaceFileMetadataLibrary', + #superclass : 'WADeploymentAwareFileMetadataLibrary', #pools : [ 'Willow' ], - #category : #'Willow-Core-Libraries' + #category : 'Willow-Core-Libraries', + #package : 'Willow-Core', + #tag : 'Libraries' } -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary class >> forDeployment [ ^ self ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary class >> forDevelopment [ ^ self ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary class >> libraryName [ ^ 'willow' ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary class >> version [ ^ '8.0.1' ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> callServerFunction [ | function | @@ -48,19 +50,19 @@ WillowNamespaceFileMetadataLibrary >> callServerFunction [ ^ function ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> defaultHandleAjaxErrorCallFunction [ ^ JSFunction new arguments: #(xmlHttpRequest textStatus errorThrown) ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> globalWillowNamespaceDeclaration [ ^ JSDeclareGlobalNamespace named: self willowNamespace ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary >> jswillowJs [ ^ WAFileLibraryResource @@ -70,7 +72,7 @@ WillowNamespaceFileMetadataLibrary >> jswillowJs [ contents: ( GRDelayedSend receiver: self selector: #jswillowJsContent ) ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary >> jswillowJsContent [ ^ '/*! @@ -89,7 +91,7 @@ WillowNamespaceFileMetadataLibrary >> jswillowJsContent [ script << (script javascript if: (self willowNamespace identicalTo: JSStream undefined) then: (self willowNamespace assign: self willowDefaults)) ]) ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary >> nonFileSelectors [ ^ OrderedCollection new @@ -98,25 +100,25 @@ WillowNamespaceFileMetadataLibrary >> nonFileSelectors [ yourself ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary >> selectorsToInclude [ ^ #(jswillowJs) ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> sessionInformation [ ^ JSStream on: 'sessionInformation' ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowNamespaceFileMetadataLibrary >> version [ ^self class version ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> willowDefaults [ ^ GRSmallDictionary new @@ -127,7 +129,7 @@ WillowNamespaceFileMetadataLibrary >> willowDefaults [ yourself ] -{ #category : #private } +{ #category : 'private' } WillowNamespaceFileMetadataLibrary >> willowNamespace [ ^ WillowJavascriptNamespace new diff --git a/source/Willow-Core/WillowServerCall.class.st b/source/Willow-Core/WillowServerCall.class.st index 65c0df3b..d3388fcf 100644 --- a/source/Willow-Core/WillowServerCall.class.st +++ b/source/Willow-Core/WillowServerCall.class.st @@ -2,12 +2,14 @@ I represent an AJAX call in Willow " Class { - #name : #WillowServerCall, - #superclass : #JQAjax, - #category : #'Willow-Core-WebInteraction' + #name : 'WillowServerCall', + #superclass : 'JQAjax', + #category : 'Willow-Core-WebInteraction', + #package : 'Willow-Core', + #tag : 'WebInteraction' } -{ #category : #accessing } +{ #category : 'accessing' } WillowServerCall >> arguments [ self options @@ -16,7 +18,7 @@ WillowServerCall >> arguments [ ^ super arguments ] -{ #category : #accessing } +{ #category : 'accessing' } WillowServerCall >> method [ ^ self constants >> #willow >> #callServerFunctionName diff --git a/source/Willow-Core/WillowSession.class.st b/source/Willow-Core/WillowSession.class.st index 78a2a1c1..06896bce 100644 --- a/source/Willow-Core/WillowSession.class.st +++ b/source/Willow-Core/WillowSession.class.st @@ -2,21 +2,23 @@ I represent a basic Session for Willow. " Class { - #name : #WillowSession, - #superclass : #WASession, + #name : 'WillowSession', + #superclass : 'WASession', #instVars : [ 'componentSupplier' ], - #category : #'Willow-Core-Applications' + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #accessing } +{ #category : 'accessing' } WillowSession >> componentSupplier [ ^ componentSupplier ] -{ #category : #Controlling } +{ #category : 'Controlling' } WillowSession >> startUpApplicationContextFor: aWillowApplication [ "This hook provides the capability to set-up an application specific context" diff --git a/source/Willow-Core/WillowSystemConfiguration.class.st b/source/Willow-Core/WillowSystemConfiguration.class.st index 4642743d..3525560f 100644 --- a/source/Willow-Core/WillowSystemConfiguration.class.st +++ b/source/Willow-Core/WillowSystemConfiguration.class.st @@ -2,24 +2,26 @@ I provide configuration for a Willow Application. For the moment the deployment mode. " Class { - #name : #WillowSystemConfiguration, - #superclass : #WASystemConfiguration, - #category : #'Willow-Core-Applications' + #name : 'WillowSystemConfiguration', + #superclass : 'WASystemConfiguration', + #category : 'Willow-Core-Applications', + #package : 'Willow-Core', + #tag : 'Applications' } -{ #category : #Accessing } +{ #category : 'Accessing' } WillowSystemConfiguration class >> deploymentModeClassKey [ ^#deploymentModeClass ] -{ #category : #Accessing } +{ #category : 'Accessing' } WillowSystemConfiguration class >> languageKey [ ^#language ] -{ #category : #description } +{ #category : 'description' } WillowSystemConfiguration >> describeOn: config [ (config classBinding: self class deploymentModeClassKey) diff --git a/source/Willow-Core/package.st b/source/Willow-Core/package.st index 83339073..a22ea02a 100644 --- a/source/Willow-Core/package.st +++ b/source/Willow-Core/package.st @@ -1 +1 @@ -Package { #name : #'Willow-Core' } +Package { #name : 'Willow-Core' }