Archived
files |
247-Parametrizing_a_Custom_Pipe.mkv
[9202a06d8bd4ca42]
|
17,245,843 |
0185D06A |
241-Introduction_and_Why_Pipes_are_Useful.mkv
[aa186636ca9e72e2]
|
6,174,913 |
053206C6 |
356-Updating_and_Deleting_Ingredients.mkv
[f4ff950aaeb6c608]
|
79,542,925 |
6D20EE37 |
351-Setting_Up_the_NgRx_Store.mkv
[de925da70d9b33b6]
|
37,006,060 |
1276009F |
107-Creating_a_Logging_Service.mkv
[8d9a894754014101]
|
30,653,019 |
F39B452A |
314-Preparing_Programmatic_Creation.mkv
[7ac9841549bea378]
|
59,502,681 |
4D221212 |
170-Module_Introduction.mkv
[74b6a1b042e384e5]
|
15,106,221 |
15E91895 |
142-Configuring_the_Handling_of_Query_Parameters.mkv
[7b97b0c83f128f13]
|
12,736,118 |
63ACE286 |
242-Using_Pipes.mkv
[6bc933155d2a471e]
|
22,149,621 |
EBAE7F12 |
160-Child_Routes_Challenge.mkv
[a9ab3ed3e272c7e8]
|
10,728,335 |
4279DD19 |
298-Sending_Login_Requests.mkv
[786bb864a3f9b495]
|
68,150,823 |
14BAEA45 |
063-Debugging_Code_in_the_Browser_Using_Sourcemaps.mkv
[49f53fbfed233d52]
|
45,303,793 |
6D341863 |
239-Deleting_Ingredients_and_Some_Finishing_Touches.mkv
[a18aad6b6cf0aa3d]
|
44,661,786 |
1F0AC4DD |
020-Using_Custom_Components.mkv
[502da73f0e522e1a]
|
5,326,170 |
D32E5E43 |
038-Using_ngIf_to_Output_Data_Conditionally.mkv
[77fc47c4748c92f6]
|
18,735,107 |
D5E5CBC4 |
146-An_Introduction_to_Guards.mkv
[fb27307aa16155a6]
|
13,533,352 |
0B9158DF |
360-First_Summary_and_Clean_Up.mkv
[4ccf865f91e20230]
|
43,190,081 |
95ACA1E1 |
326-Component_Declarations.mkv
[46bec080201ee96a]
|
26,528,295 |
340112D1 |
243-Parametrizing_Pipes.mkv
[459ec1a94669932b]
|
10,229,048 |
638D965E |
227-Creating_the_Template_for_the_(Reactive)_Recipe_Edit_Form.mkv
[9dcbeb1db618ac20]
|
28,106,563 |
294378F9 |
030-Event_Binding.mkv
[2feefb02b7c4de2e]
|
28,797,068 |
5BF4EF61 |
311-Adding_an_Alert_Modal_Component.mkv
[9d9f04229b334f7d]
|
49,506,468 |
3D45C3A7 |
204-Reactive_Creating_a_Form_in_Code.mkv
[e7241891d89f39d]
|
21,101,321 |
50CF8100 |
036-(OPTIONAL)_Assignment_Solution.mkv
[dd80790949c2ce46]
|
45,716,958 |
E2EF3BD9 |
248-Example_Creating_a_Filter_Pipe.mkv
[ca454b20f2379a32]
|
47,843,797 |
7EA5714F |
100-What_Happens_behind_the_Scenes_on_Structural_Directives.mkv
[103a68a6c95c8b5]
|
23,210,367 |
32FF128E |
205-Reactive_Syncing_HTML_and_Form.mkv
[b827bfd15322678a]
|
28,406,893 |
0CF7990C |
128-Navigating_with_Router_Links.mkv
[a5412b724e70d4ac]
|
25,137,673 |
E7173F0A |
251-A_New_IDE.mkv
[9d00975cf7f9a6a6]
|
2,847,406 |
22DD321A |
231-Adding_Ingredient_Controls_to_a_Form_Array.mkv
[23762ca69eacb8a8]
|
36,244,416 |
3A61B786 |
158-Marking_Active_Routes.mkv
[12ea99bc51d1a68c]
|
6,248,153 |
52446B64 |
228-Creating_the_Form_For_Editing_Recipes.mkv
[18dd714a58a1c362]
|
25,337,919 |
6244AAE6 |
320-Module_Introduction.mkv
[7086c4ae6e59f669]
|
871,432 |
BF280FED |
235-Adding_a_Delete_and_Clear_(Cancel)_Functionality.mkv
[c1202d6dbb6ef8d8]
|
35,460,937 |
D15CC852 |
269-Setting_Headers.mkv
[231b159540682c81]
|
23,389,087 |
FED0277D |
032-Passing_and_Using_Data_with_Event_Binding.mkv
[35827c1d1f639cb3]
|
40,050,957 |
9BDE2F32 |
058-Creating_an_Ingredient_Model.mkv
[9c967fafce18b9bc]
|
11,342,210 |
0D72CCB0 |
080-Lifecycle_Hooks_and_Template_Access.mkv
[296638b813c2b26b]
|
22,579,928 |
FF764354 |
102-Understanding_ngSwitch.mkv
[5f37a0779f7b8406]
|
14,078,946 |
3F13FA5C |
078-Understanding_the_Component_Lifecycle.mkv
[9995ae764e9b8423]
|
16,635,155 |
8077DFDD |
246-Creating_a_Custom_Pipe.mkv
[74090a804c9bf082]
|
54,619,665 |
CAD7E19A |
093-ngClass_and_ngStyle_Recap.mkv
[be4edadfe55d7f09]
|
15,278,670 |
2BEF0765 |
249-Pure_and_Impure_Pipes_(or_How_to_fix_the_Filter_Pipe).mkv
[260027be821be257]
|
23,168,332 |
D42214D4 |
092-ngFor_and_ngIf_Recap.mkv
[e8c5c79a25f486f0]
|
24,871,264 |
79B16790 |
336-Loading_Services_Differently.mkv
[1d0da31b84bd3963]
|
60,060,216 |
46E9C8AA |
164-Styling_Active_Recipe_Items.mkv
[7d2ca7b4c6ebfa57]
|
7,905,227 |
DD9DD1E0 |
214-Reactive_Creating_a_Custom_Async_Validator.mkv
[e5c6508dde7de2d6]
|
40,371,331 |
2D13F87B |
304-Adding_Logout.mkv
[be2e646a016f10d2]
|
21,892,413 |
71C44868 |
133-Passing_Parameters_to_Routes.mkv
[181dce2287a13d8c]
|
22,561,425 |
33032CBA |
154-Wrap_Up.mkv
[3f411e50205407d]
|
3,066,791 |
8E691F53 |
087-Passing_Recipe_Data_with_Property_Binding.mkv
[dfe619daeca4c500]
|
20,592,468 |
E7454540 |
007-Project_Setup_and_First_App.mkv
[3f08c07e7614035a]
|
51,235,965 |
777A0F1A |
264-Sending_a_DELETE_Request.mkv
[d82c4d2c6a7e9ca5]
|
19,260,181 |
BE448312 |
199-TD_Setting_and_Patching_Form_Values.mkv
[f7ce539f0182fbac]
|
32,674,622 |
F998F8C7 |
191-TD_Adding_Validation_to_check_User_Input.mkv
[a6fc12f0a576c415]
|
27,233,693 |
070FD3A6 |
322-Analyzing_the_AppModule.mkv
[a6f55ceca16334b7]
|
99,222,276 |
0E23EF87 |
261-Showing_a_Loading_Indicator.mkv
[f6810a8a94aa4365]
|
11,262,740 |
F8A65543 |
323-Getting_Started_with_Feature_Modules.mkv
[d6167250e28cef15]
|
114,763,529 |
4E27B91F |
365-And_Important_Note_on_Actions.mkv
[854dcdd76384b00c]
|
66,644,769 |
B276425D |
109-Creating_a_Data_Service.mkv
[b1fca57123543f84]
|
47,300,841 |
EDAA2887 |
042-Outputting_Lists_with_ngFor.mkv
[443e1661d88ed62b]
|
34,479,192 |
6170175F |
255-Backend_(Firebase)_Setup.mkv
[92cafe43149db4e7]
|
24,032,847 |
4443DCFC |
130-Styling_Active_Router_Links.mkv
[cca467375d317ab3]
|
41,244,891 |
6DEE68E8 |
119-Using_a_Service_for_Cross-Component_Communication.mkv
[9e5312786d51e883]
|
24,967,947 |
7BAF1D84 |
019-Understanding_the_Role_of_AppModule_and_Component_Declaration.mkv
[458d86ac4ee4cc3]
|
27,487,813 |
219367DC |
008-Editing_the_First_App.mkv
[cd74f9ebccb15c50]
|
58,788,454 |
586DAF70 |
361-One_Root_State.mkv
[ecb5b92d573f3294]
|
161,156,732 |
F4BD1EAF |
197-TD_Grouping_Form_Controls.mkv
[a59d82dffaf9ad10]
|
29,862,064 |
1421620B |
220-Adding_Validation_to_the_Form.mkv
[3be2ab55a45c5099]
|
9,702,017 |
7EF42F6D |
085-Introduction.mkv
[3f49f5c4b71fc72a]
|
2,273,342 |
3EAE031C |
029-Property_Binding_vs_String_Interpolation.mkv
[951c348cfdccf5ae]
|
45,239,855 |
48ECA394 |
208-Reactive_Getting_Access_to_Controls.mkv
[331c805633433252]
|
59,988,594 |
9448A8E8 |
313-Using_ngIf.mkv
[6fdd380455d18afd]
|
15,439,078 |
61918893 |
218-Introduction.mkv
[ef81c530081718fc]
|
5,262,121 |
881C7366 |
043-(OPTIONAL)_Assignment_Solution.mkv
[3533ca991207ca89]
|
62,771,062 |
1CFD2900 |
250-Understanding_the_async_Pipe.mkv
[3704e571c7032d25]
|
57,595,345 |
E5C80B28 |
111-How_many_Instances_of_Service_Should_It_Be.mkv
[93cc3200be5be9eb]
|
16,011,829 |
3C10B0F2 |
337-Ahead-of-Time_Compilation.mkv
[2fd80fb5d92b9a8a]
|
87,050,122 |
7B0D2323 |
302-Adding_the_Token_to_Outgoing_Requests.mkv
[ac2d52bf15f805a6]
|
107,639,575 |
D310CE94 |
252-Module_Introduction.mkv
[8392f7c973cb60a4]
|
1,376,386 |
B68DD8C9 |
209-Reactive_Grouping_Controls.mkv
[34e3cb658fbe2bcc]
|
35,486,623 |
26BEB426 |
234-Submitting_the_Recipe_Edit_Form.mkv
[477a7638bad9feb8]
|
47,343,726 |
C4445D02 |
185-Template-Driven_(TD)_vs_Reactive_Approach.mkv
[16bfcf464352f9b4]
|
4,140,823 |
590DDA54 |
268-Error_Handling_and_UX.mkv
[3023ad0963eab84a]
|
14,896,128 |
56C6B3C3 |
330-Adding_an_Auth_Feature_Module.mkv
[4aa9990e0bfcce09]
|
31,855,537 |
C7A04593 |
307-Adding_an_Auth_Guard.mkv
[9cd60ac662428307]
|
77,266,079 |
5309CEC4 |
082-Getting_Access_to_ng-content_with_atContentChild.mkv
[1f59f4f3983678d8]
|
22,416,811 |
98374759 |
053-Creating_a_Recipe_Model.mkv
[92ce6b7dcf472896]
|
23,911,077 |
20E9DBFF |
034-Two-Way-Databinding.mkv
[cf548cd1802370b5]
|
18,764,141 |
7B567DE2 |
203-Reactive_Setup.mkv
[e079443d6a6812e2]
|
16,536,386 |
BEFDDEB3 |
156-Setting_Up_Routes.mkv
[4c9a8de80a887926]
|
39,397,118 |
A7BD30AB |
028-Property_Binding.mkv
[caa98f60a568b330]
|
44,668,895 |
54CA708D |
066-Property_and_Event_Binding_Overview.mkv
[e1d444f460464498]
|
5,295,968 |
AD4C0430 |
232-Adding_new_Ingredient_Controls.mkv
[c1a9111232e52e87]
|
27,043,324 |
C5867941 |
273-Introducing_Interceptors.mkv
[871497cd9acbca0]
|
42,276,225 |
3F18FFFB |
312-Understanding_the_Different_Approaches.mkv
[1d9313e61a5691e7]
|
4,672,347 |
D70B2F8C |
070-Assigning_an_Alias_to_Custom_Events.mkv
[19ef5827adcb3a59]
|
7,092,229 |
2EB21647 |
190-TD_Accessing_the_Form_with_atViewChild.mkv
[b4a7a3e7739a66b0]
|
19,704,964 |
E7C39588 |
353-Dispatching_Actions.mkv
[8d2b0100a5561785]
|
79,678,911 |
BE6FADED |
354-Multiple_Actions.mkv
[49e5475802890c9d]
|
74,809,897 |
0F4B2D1C |
050-Using_the_Components.mkv
[fba5c4f8a02fdd0e]
|
11,957,297 |
FB3BF036 |
290-Switching_Between_Auth_Modes.mkv
[fc42b2168e088ce1]
|
18,442,629 |
148845E2 |
355-Preparing_Update_and_Delete_Actions.mkv
[876dcd293b6ecefc]
|
25,596,430 |
B2C20BBD |
149-Using_a_Fake_Auth_Service.mkv
[b7bb90cf8f592363]
|
10,908,086 |
AFC82644 |
122-Adding_Ingredients_to_Recipes.mkv
[4939664d7e044392]
|
22,384,390 |
7A976AF0 |
140-Setting_up_Child_(Nested)_Routes.mkv
[4897e4182e79679a]
|
41,678,537 |
68771DC9 |
135-Fetching_Route_Parameters_Reactively.mkv
[1df8037005d6395a]
|
64,567,014 |
113B7805 |
297-Improving_Error_Handling.mkv
[d2cb3226d41da9ac]
|
61,227,354 |
37B12BF1 |
284-Transforming_Response_Data.mkv
[c7ad1d1d827176dd]
|
31,943,811 |
AACE171C |
022-Working_with_Component_Templates.mkv
[95b2d941b3bb5ac5]
|
15,930,111 |
F62E94BD |
001-Course_Introduction.mkv
[5a49cb3e6fcea831]
|
7,403,736 |
FA2364B6 |
044-Getting_the_Index_when_using_ngFor.mkv
[20bf90a44cb3e0f2]
|
46,519,262 |
4BA6B5E6 |
069-Binding_to_Custom_Events.mkv
[adae8ecedeedd603]
|
67,228,415 |
B62254A8 |
017-Components_are_Important.mkv
[23ba0f0eb862dff9]
|
11,399,276 |
E6051EE8 |
134-Fetching_Route_Parameters.mkv
[e8e8efc40669b0cc]
|
27,135,726 |
BD40E8FF |
310-Module_Introduction.mkv
[60b85c112aeb8c67]
|
1,335,022 |
8A742C4E |
340-Module_Introduction.mkv
[3dc078ee8832c04d]
|
844,443 |
C6590441 |
189-TD_Understanding_Form_State.mkv
[c88d97d9dc91718f]
|
10,754,103 |
7A24C021 |
110-Understanding_the_Hierarchical_Injector.mkv
[89360caeafa12076]
|
17,018,153 |
99CAC9C0 |
083-Wrap_Up.mkv
[bbf098908c69c51b]
|
4,260,907 |
47AB35B5 |
274-Manipulating_Request_Objects.mkv
[32d36c463e806d67]
|
14,921,341 |
A1CBFD7E |
065-Splitting_Apps_into_Components.mkv
[df0064e0a4e9bb40]
|
42,414,540 |
B248971F |
345-Module_Introduction.mkv
[104d35835e066cb7]
|
628,948 |
714D0289 |
285-Resolving_Data_Before_Loading.mkv
[1cb530fc1b442d8e]
|
56,160,694 |
43A9DB7C |
333-More_Lazy_Loading.mkv
[846ba66d3a60d366]
|
21,216,880 |
EF7C1753 |
277-Wrap_Up.mkv
[794f3c6da8b35359]
|
12,917,567 |
4414E653 |
057-Working_on_the_ShoppingListComponent.mkv
[5835d891a9798b43]
|
8,262,072 |
230CBDE1 |
224-Resetting_the_Form.mkv
[681d235b2b7f6b0b]
|
11,862,834 |
6543994F |
211-Reactive_Arrays_of_Form_Controls_(FormArray).mkv
[b8b804f53636c601]
|
67,098,846 |
E5C2166A |
131-Navigating_Programmatically.mkv
[af5a732a55b55fb1]
|
17,107,092 |
3F1AB609 |
162-Configuring_Route_Parameters.mkv
[5ca24639a75fafdf]
|
42,093,160 |
F07EF70B |
325-Adding_Routes_to_Feature_Modules.mkv
[849ab9fd0682b773]
|
35,029,371 |
6828FD6E |
233-Validating_User_Input.mkv
[b93d0ff1d1cb2392]
|
36,379,973 |
C0699B49 |
260-Outputting_Posts.mkv
[e2c59b655766fe21]
|
12,717,307 |
B0FDFDE8 |
095-Using_the_Renderer_to_build_a_Better_Attribute_Directive.mkv
[8a53ba8f553f7fb]
|
42,955,934 |
82DA96FF |
051-Adding_a_Navigation_Bar.mkv
[63ba967d309b13b1]
|
35,722,722 |
7F98C8C4 |
163-Passing_Dynamic_Parameters_to_Links.mkv
[2d837b7db2e9ed09]
|
14,284,698 |
FCD803A4 |
286-Fixing_a_Bug_with_the_Resolver.mkv
[c23634110f36ccc9]
|
11,076,144 |
63B84ADC |
324-Splitting_Modules_Correctly.mkv
[ff77284b910d7ebd]
|
30,740,148 |
07E6464D |
221-Allowing_the_Selection_of_Items_in_the_List.mkv
[da7d2d0e6bf98c04]
|
21,932,565 |
96680716 |
238-Providing_the_Recipe_Service_Correctly.mkv
[5ea5d803b65a4013]
|
32,983,858 |
ECB1C649 |
357-Expanding_the_State.mkv
[e13cea42fad38fa9]
|
75,543,425 |
4D04197C |
352-Selecting_State.mkv
[c40c701d189cc573]
|
104,612,286 |
6E11FC66 |
071-Custom_Property_and_Event_Binding_Summary.mkv
[24257d1414366367]
|
11,655,934 |
8D88FF34 |
216-Reactive_Setting_and_Patching_Values.mkv
[7d2667a772e6dfac]
|
17,944,970 |
A53D1793 |
295-Sending_the_Signup_Request.mkv
[3a67083c898e61fb]
|
30,677,297 |
71B41D8B |
350-Understanding_and_Adding_Actions.mkv
[e8fddd8d85ede95]
|
36,007,681 |
7CA80948 |
223-Updating_existing_Items.mkv
[ea14bea9c3faf05]
|
18,574,590 |
7929CDDC |
167-Programmatic_Navigation_to_the_Edit_Page.mkv
[a7826b8e9ba92e2a]
|
59,434,636 |
5F73AC95 |
184-Why_do_we_Need_Angulars_Help.mkv
[112387cb6458bc1e]
|
8,603,687 |
84743CE0 |
023-Working_with_Component_Styles.mkv
[fa7eba13e1992652]
|
19,809,535 |
D82800C4 |
212-Reactive_Creating_Custom_Validators.mkv
[e8d98894ba928231]
|
98,119,429 |
2B752BBB |
289-Adding_the_Auth_Page.mkv
[953240e15cba5c1a]
|
41,680,885 |
30748B61 |
194-TD_Outputting_Validation_Error_Messages.mkv
[5b0dde5897af33f3]
|
21,090,782 |
C6167018 |
271-Observing_Different_Types_of_Responses.mkv
[1ea43a68b017dcc7]
|
74,895,973 |
B41CB28C |
196-TD_Using_ngModel_with_Two-Way-Binding.mkv
[e16b34d65ecb5a69]
|
18,356,923 |
A4C745C9 |
106-Why_would_you_Need_Services.mkv
[e8623a23c407dc1]
|
14,586,117 |
DD46D9B6 |
305-Adding_Auto-Login.mkv
[b4292d01c958e940]
|
100,269,300 |
A9A1A26C |
256-Sending_a_POST_Request.mkv
[7bec6131f8d63a89]
|
62,550,636 |
16DDB744 |
348-Getting_Started_with_Reducers.mkv
[44bb84ad35b99f91]
|
71,399,562 |
418D219B |
108-Injecting_the_Logging_Service_into_Components.mkv
[120e011bb4919ad2]
|
98,522,993 |
51BD00CB |
287-Module_Introduction.mkv
[cca67dd25d33cf37]
|
890,263 |
7D8C280D |
195-TD_Set_Default_Values_with_ngModel_Property_Binding.mkv
[42ad2690c8ff76b9]
|
15,371,672 |
2CD0C0C6 |
115-(OPTIONAL)_Assignment_Solution.mkv
[9df55543d3906bf2]
|
66,008,394 |
96D67809 |
328-Understanding_Shared_Modules.mkv
[607d665b563e9b25]
|
79,859,351 |
B11890DE |
105-Module_Introduction.mkv
[fcba6424a81d9fa8]
|
5,885,077 |
CFA22DFF |
054-Adding_Content_to_the_Recipes_Components.mkv
[d6d50b917375640a]
|
110,161,700 |
FAF3F97C |
270-Adding_Query_Params.mkv
[d3ef8165668919e7]
|
27,770,295 |
A2E66043 |
121-Using_Services_for_Pushing_Data_from_A_to_B.mkv
[6c06a38240b62a4a]
|
13,902,153 |
D926D1CE |
004-Angular_vs_Angular_2_vs_Latest_Angular_Version.mkv
[8c8c428dfbd89d52]
|
5,557,889 |
23DF6773 |
139-Practicing_and_some_Common_Gotchas.mkv
[24e6601ab716a118]
|
44,970,873 |
331A6FC9 |
200-TD_Using_Form_Data.mkv
[7836deb3965ef222]
|
33,329,964 |
8ED8F168 |
342-Using_Environment_Variables.mkv
[98533b34516103cc]
|
38,625,809 |
01F8D29E |
349-Adding_Logic_to_the_Reducer.mkv
[3492eb7a1e4b26ac]
|
35,743,050 |
8B490A54 |
supplemental_assets\opt-mod-02-routing-module.zip |
49,451 |
703125BF |
supplemental_assets\prj-http-01-save-and-fetch-recipes.zip |
78,787 |
238698AD |
supplemental_assets\prj-basics-final.zip |
59,918 |
EDFB7386 |
supplemental_assets\prj-start.zip |
33,284 |
F2E945BE |
supplemental_assets\http-09-finished.zip |
21,577 |
B2DFE632 |
supplemental_assets\prj-directives-final.zip |
30,313 |
E5B7145C |
supplemental_assets\forms-reactive-assignment-solution.zip |
20,480 |
AA527BBE |
supplemental_assets\pipes-final.zip |
36,428 |
2ED0D040 |
supplemental_assets\opt-mod-01-feature-module.zip |
48,987 |
9A914F2D |
supplemental_assets\prj-obs-01-finished.zip |
80,098 |
D6745DA2 |
supplemental_assets\prj-routing-final.zip |
35,383 |
31F35984 |
supplemental_assets\opt-mod-04-core-module.zip |
50,057 |
5DEF85EF |
supplemental_assets\forms-td-final.zip |
19,706 |
54B4A44F |
supplemental_assets\cmp-databinding-assignment-solution.zip |
23,842 |
3C0DEA5B |
supplemental_assets\basics-components.zip |
40,030 |
CAD2D53E |
supplemental_assets\prj-forms-final.zip |
70,672 |
DBEEBCA6 |
supplemental_assets\auth-04-added-login.zip |
82,480 |
D1DCB181 |
supplemental_assets\cmp-databinding-final.zip |
22,039 |
33176D3B |
supplemental_assets\ngrx-04-finished-shopping-list.zip |
107,997 |
E13815F6 |
supplemental_assets\http-02-post-requests.zip |
34,519 |
FB36DFE1 |
supplemental_assets\http-07-query-params.zip |
36,678 |
33A6B9B6 |
supplemental_assets\app.component.zip |
1,915 |
8F69BC2A |
supplemental_assets\routing-start.zip |
26,498 |
687BE589 |
supplemental_assets\project-template.zip |
37,650 |
4E54F018 |
supplemental_assets\lifecycle.pdf |
11,133 |
50A58EFC |
supplemental_assets\basics-ngfor-addition.zip |
36,091 |
BB8B993E |
supplemental_assets\pipes-start.zip |
34,528 |
C76EC735 |
supplemental_assets\obs-01-start.zip |
38,143 |
E99A9AD3 |
supplemental_assets\forms-td-start.zip |
18,870 |
BF141A9D |
supplemental_assets\deployment-finished.zip |
100,595 |
B6200EB7 |
supplemental_assets\prj-cmp-databinding-final.zip |
30,532 |
D3D699A9 |
supplemental_assets\dyn-cmp-finished.zip |
89,425 |
1665AF89 |
supplemental_assets\http-01-start.zip |
33,192 |
9EC68370 |
supplemental_assets\services-start.zip |
20,879 |
9C8E71F7 |
supplemental_assets\opt-mod-03-shared-module.zip |
50,105 |
1249E8B9 |
supplemental_assets\auth-01-auth-component.zip |
77,985 |
B227E7EA |
supplemental_assets\obs-05-finished.zip |
46,088 |
3973335B |
supplemental_assets\ngrx-03-added-actions.zip |
101,076 |
D92EA397 |
supplemental_assets\prj-http-02-finished.zip |
84,781 |
1CEDA5AB |
supplemental_assets\basics-assignment-3-solution.zip |
37,221 |
7BF350BB |
supplemental_assets\auth-02-auth-form.zip |
76,312 |
3C580B6E |
supplemental_assets\auth-05-added-token-to-requests.zip |
87,577 |
38998174 |
supplemental_assets\basics-assignment-2-solution.zip |
36,986 |
9B645188 |
supplemental_assets\auth-03-signup-request.zip |
82,539 |
AF47E111 |
supplemental_assets\auth-07-autologin-autologout.zip |
87,796 |
171A558F |
supplemental_assets\auth-08-finished.zip |
84,004 |
91771642 |
supplemental_assets\services-assignment-solution.zip |
43,831 |
1D5FE689 |
supplemental_assets\first-app.zip |
36,789 |
3B6CB10A |
supplemental_assets\http-08-interceptor.zip |
37,532 |
8079613B |
supplemental_assets\http-05-handling-errors.zip |
37,065 |
754F2F1E |
supplemental_assets\forms-reactive-final.zip |
19,350 |
99F9DB78 |
supplemental_assets\http-03-get-and-transform-data.zip |
36,180 |
F78D302C |
supplemental_assets\prj-services-final.zip |
31,485 |
08DD61D8 |
supplemental_assets\directives-final.zip |
20,430 |
B77CC39A |
supplemental_assets\services-final.zip |
22,485 |
B37A1E7F |
supplemental_assets\ngrx-05-auth-without-effects.zip |
108,422 |
B03A9B2B |
supplemental_assets\opt-mod-05-lazy-loading.zip |
97,762 |
98A8199B |
supplemental_assets\ngrx-02-added-store.zip |
99,891 |
0AB557A4 |
supplemental_assets\ngrx-01-first-reducer.zip |
98,947 |
214F779C |
supplemental_assets\obs-04-operators.zip |
39,318 |
995F4E0A |
supplemental_assets\auth-06-logout.zip |
81,895 |
2B39FD74 |
supplemental_assets\obs-02-first-custom-observable.zip |
41,891 |
572601FA |
supplemental_assets\basics-assignment-1-solution.zip |
42,011 |
BF2D6C31 |
supplemental_assets\opt-mod-06-finished.zip |
96,753 |
E7FD3A66 |
supplemental_assets\obs-03-complete-custom-observable.zip |
42,764 |
DA266D23 |
supplemental_assets\forms-reactive-start.zip |
19,279 |
FA590637 |
supplemental_assets\http-04-loading-indicator.zip |
36,172 |
88EAE73A |
supplemental_assets\basics-directives.zip |
40,766 |
58E6C273 |
supplemental_assets\http-06-headers.zip |
1,724 |
AC209DC7 |
supplemental_assets\cmp-databinding-start.zip |
19,569 |
F1E15685 |
supplemental_assets\debugging.zip |
33,064 |
9E7C0987 |
supplemental_assets\directives-start.zip |
17,939 |
BE0E2007 |
supplemental_assets\basics-databinding.zip |
40,706 |
1EF3D3D9 |
supplemental_assets\routing-final.zip |
33,395 |
CD05C654 |
127-Setting_up_and_Loading_Routes.mkv
[806366d4fc1f7a78]
|
61,162,559 |
691B0D9E |
152-Resolving_Dynamic_Data_with_the_resolve_Guard.mkv
[c202e4df3f9b5c50]
|
282,069,858 |
28F41CD7 |
183-Module_Introduction.mkv
[973d89e3af48cbf3]
|
3,962,509 |
023D68C3 |
120-Adding_the_Shopping_List_Service.mkv
[abb2ff855d882813]
|
30,718,198 |
F2F8164C |
364-Auth_Finished_(For_Now__).mkv
[ca7be7a482fb4013]
|
89,770,351 |
E06895F5 |
341-Deployment_Preparation_and_Steps.mkv
[5053e379aa3d135b]
|
5,414,668 |
CD1ACC9F |
009-The_Course_Structure.mkv
[7abb116df3014b58]
|
15,904,815 |
5CEBAC31 |
040-Styling_Elements_Dynamically_with_ngStyle.mkv
[cdc39b237d33979d]
|
33,515,726 |
8583C650 |
283-Fetching_Recipes.mkv
[c6b4c94911d1fd78]
|
42,273,162 |
BDACC25D |
279-Module_Introduction.mkv
[e395d2bd95529765]
|
2,574,058 |
00D7348D |
168-One_Note_about_Route_Observables.mkv
[dbf0e95a4cac28ab]
|
4,275,068 |
B526172E |
016-How_an_Angular_App_gets_Loaded_and_Started.mkv
[5cbbd0a564544b2c]
|
34,332,745 |
2FCF002B |
074-Using_Local_References_in_Templates.mkv
[35238863ad271229]
|
32,703,258 |
9899E3FF |
332-Implementing_Lazy_Loading.mkv
[4f8265d83d361a05]
|
165,595,727 |
223C1C7F |
048-Setting_up_the_Application.mkv
[c492d8082c4b7101]
|
17,562,101 |
FDAF5F85 |
359-Removing_Redundant_Component_State_Management.mkv
[327d486d1ae7b42a]
|
29,342,513 |
63EA7A71 |
266-Using_Subjects_for_Error_Handling.mkv
[aefa4d8cb2b58a95]
|
18,132,915 |
C16891E1 |
079-Seeing_Lifecycle_Hooks_in_Action.mkv
[5497a7a934677aee]
|
104,870,567 |
7EEEF08F |
188-TD_Submitting_and_Using_the_Form.mkv
[4b41368d5ed88406]
|
54,417,804 |
9D385105 |
084-(OPTIONAL)_Assignment_Solution.mkv
[25db122231ded77e]
|
109,788,514 |
9C4D59AE |
175-Errors_and_Completion.mkv
[72c1263a4e39277b]
|
47,140,335 |
57E17BD6 |
067-Binding_to_Custom_Properties.mkv
[5dc109413036261e]
|
40,635,811 |
48B0A6D9 |
064-Module_Introduction.mkv
[2314f546956d8647]
|
2,082,054 |
02FB51CF |
141-Using_Query_Parameters-Practice.mkv
[9bf82d70f89bd60e]
|
29,141,335 |
6036DBF1 |
335-Modules_and_Services.mkv
[a0ee1254a48b780a]
|
11,859,962 |
8F73E66F |
272-Changing_the_Response_Body_Type.mkv
[d27f3aebaae8c715]
|
23,272,436 |
7AF76795 |
027-String_Interpolation.mkv
[1dccbc69c216b82e]
|
25,322,501 |
7817AD8F |
338-Wrap_Up.mkv
[70f5e5f248815a9c]
|
5,227,567 |
399D6F1A |
306-Adding_Auto-Logout.mkv
[cb5b38aadbae3088]
|
56,723,954 |
BA529013 |
103-Building_and_Using_a_Dropdown_Directive.mkv
[6c5826c607be2573]
|
32,728,724 |
A0E1A256 |
118-Managing_Recipes_in_a_Recipe_Service.mkv
[ab90b321bbce65d8]
|
47,114,929 |
67CEAE11 |
026-What_is_Databinding.mkv
[97e1da34d1a0728]
|
10,709,621 |
27AE8F47 |
193-TD_Using_the_Form_State.mkv
[d36d77bb3ba6870c]
|
28,655,456 |
8F6C59C5 |
215-Reactive_Reacting_to_Status_or_Value_Changes.mkv
[9e85510756b32b87]
|
14,013,168 |
024EBFE0 |
086-Adding_Navigation_with_Event_Binding_and_ngIf.mkv
[384f35bc86ca21bb]
|
30,267,038 |
FD420166 |
229-Syncing_HTML_with_the_Form.mkv
[d92fc113362d70ee]
|
24,348,686 |
0C1C0710 |
321-What_are_Modules.mkv
[59e94f81b5d28c96]
|
5,996,582 |
9DC6B1E3 |
275-Response_Interceptors.mkv
[a77b66ce180ee015]
|
20,691,902 |
475FD7B4 |
021-Creating_Components_with_the_CLI_and_Nesting_Components.mkv
[91d2c91ef097cf5]
|
17,295,415 |
ACC3181F |
308-Wrap_Up.mkv
[cdae4a12c391a53]
|
14,601,085 |
0FAD29B7 |
148-Protecting_Child_(Nested)_Routes_with_canActivateChild.mkv
[7a458e5d3b6b92f3]
|
14,649,184 |
32BC79BE |
041-Applying_CSS_Classes_Dynamically_with_ngClass.mkv
[4b77ead6f90de6c0]
|
19,268,755 |
65FC2CA0 |
116-Introduction.mkv
[25d80f0d3488f890]
|
3,545,621 |
4FDEC9BE |
236-Redirecting_the_User_(after_Deleting_a_Recipe).mkv
[781a5fa80c99a65e]
|
21,455,700 |
17177B8D |
198-TD_Handling_Radio_Buttons.mkv
[5b1e374a0b344e28]
|
29,219,924 |
75A34B6D |
347-What_is_NgRx.mkv
[70441ce3d8f2e96]
|
14,631,575 |
CF1B0679 |
076-Getting_Access_to_the_Template_and_DOM_with_atViewChild.mkv
[9302e31b12864f9f]
|
45,594,571 |
716A5C3B |
292-Preparing_the_Backend.mkv
[b40134940d02097d]
|
12,329,106 |
346D0452 |
253-How_Does_Angular_Interact_With_Backends.mkv
[4e041b5da5e7244f]
|
6,804,026 |
DE4063A4 |
244-Where_to_learn_more_about_Pipes.mkv
[6f7cc0318e4f9c20]
|
13,643,091 |
C0640E2B |
282-Storing_Recipes.mkv
[8b78ef339ec50f64]
|
45,935,655 |
3F562BE0 |
150-Controlling_Navigation_with_canDeactivate.mkv
[c5c213ceb57e743b]
|
203,293,021 |
877775FC |
226-Allowing_the_Deletion_of_Shopping_List_Items.mkv
[c992bff0307f0bb7]
|
12,567,625 |
096CDE6C |
303-Attaching_the_Token_with_an_Interceptor.mkv
[315d92e700682104]
|
91,082,631 |
31B07419 |
213-Reactive_Using_Error_Codes.mkv
[d5ed441a1febccfc]
|
23,016,188 |
C7D61DF7 |
073-More_on_View_Encapsulation.mkv
[40c3fe8c68d6310a]
|
19,539,990 |
50FBAD09 |
099-Binding_to_Directive_Properties.mkv
[ec319d83f7ec3256]
|
63,471,583 |
757166A6 |
039-Enhancing_ngIf_with_an_Else_Condition.mkv
[20134c336b8c09ce]
|
20,811,372 |
448CD3B2 |
327-The_ShoppingList_Feature_Module.mkv
[db324ecd9deaef83]
|
63,747,805 |
72606BBD |
172-Analyzing_Angular_Observables.mkv
[8344fe984a994141]
|
11,540,765 |
B787F88D |
217-(OPTIONAL)_Assignment_Solution.mkv
[1b579e2954c10ed6]
|
123,907,953 |
DA9D0FB8 |
011-What_is_TypeScript.mkv
[3f3ef81b4486be45]
|
6,696,035 |
60C69500 |
117-Setting_up_the_Services.mkv
[ad3fc6b363e52d99]
|
5,415,953 |
5A27FF8D |
288-How_Authentication_Works.mkv
[aa07049ffd7477d3]
|
7,115,129 |
D4C1DB89 |
097-Using_HostListener_to_Listen_to_Host_Events.mkv
[fedb7fa1f193b912]
|
21,644,318 |
5ADEBB9B |
153-Understanding_Location_Strategies.mkv
[24f939c798f1c8b0]
|
61,585,400 |
EB1FB849 |
206-Reactive_Submitting_the_Form.mkv
[656d8452293fb604]
|
14,960,739 |
6482D96F |
037-Understanding_Directives.mkv
[3db3ab2e34f40d47]
|
7,053,606 |
C2130565 |
068-Assigning_an_Alias_to_Custom_Properties.mkv
[2cb1e416f691693]
|
10,522,936 |
F47679A9 |
174-Building_a_Custom_Observable.mkv
[148d976574d8ac34]
|
28,985,041 |
FAAC6A73 |
291-Handling_Form_Input.mkv
[6e351fbe2826b239]
|
23,036,934 |
D7F9A56B |
173-Getting_Closer_to_the_Core_of_Observables.mkv
[4bb0ada4b02faec1]
|
38,326,490 |
34F17E6D |
219-TD_Adding_the_Shopping_List_Form.mkv
[7fc96849623b6047]
|
29,792,615 |
4EB0F2E6 |
143-Redirecting_and_Wildcard_Routes.mkv
[edd40ba86c2104c7]
|
132,653,554 |
4BFFA223 |
329-Understanding_the_Core_Module.mkv
[145a6c1ac079649c]
|
35,006,822 |
B0A450F3 |
301-Reflecting_the_Auth_State_in_the_UI.mkv
[851281fb208cca79]
|
95,346,863 |
094B5EB7 |
237-Adding_an_Image_Preview.mkv
[2850951495287975]
|
20,390,943 |
9E7F832C |
178-Subjects.mkv
[c6dec508b10c32f8]
|
45,467,489 |
FD6385A2 |
257-GETting_Data.mkv
[5c219bc7a1662ff9]
|
12,161,960 |
F9406300 |
187-TD_Creating_the_Form_and_Registering_the_Controls.mkv
[3cd237f069c0836]
|
53,399,035 |
B1ED4274 |
280-Backend_(Firebase)_Setup.mkv
[7f1e1c4952fc4814]
|
16,182,735 |
0817136A |
045-Project_Introduction.mkv
[3860ddd26a7d7c68]
|
896,751 |
CC22A587 |
265-Handling_Errors.mkv
[6f62a779f92840a]
|
63,076,607 |
F6FB376B |
334-Preloading_Lazy-Loaded_Code.mkv
[b77a2083ee1cfa05]
|
35,771,198 |
F9D00B2E |
094-Creating_a_Basic_Attribute_Directive.mkv
[9b24bfed4dfaf4e6]
|
32,117,819 |
2FFA190F |
259-Using_Types_with_the_HttpClient.mkv
[e2294c438d22f1f1]
|
24,640,290 |
627AAABB |
363-Dispatching_Auth_Actions.mkv
[f7bd831bdb5093d]
|
75,118,021 |
1D4AA875 |
088-Passing_Data_with_Event_and_Property_Binding_(Combined).mkv
[ab45a0ee87b564ba]
|
73,101,795 |
D91A1A5D |
077-Projecting_Content_into_Components_with_ng-content.mkv
[f03b7443dc3579db]
|
23,325,469 |
1ACFEAFE |
061-Wrap_Up_and_Next_Steps.mkv
[fc6c7ce7f2034e21]
|
2,392,714 |
24891D14 |
155-Planning_the_General_Structure.mkv
[d6a4932f2516d73d]
|
3,864,017 |
A4CC055F |
060-Adding_a_Shopping_List_Edit_Section.mkv
[25bd3a2edc69f06e]
|
15,999,388 |
824F6009 |
129-Understanding_Navigation_Paths.mkv
[b99bdd69b26a536a]
|
137,872,896 |
E3E08750 |
101-Building_a_Structural_Directive.mkv
[b4de3a70f2bc2ab6]
|
44,617,045 |
B2BDEF7E |
207-Reactive_Adding_Validation.mkv
[4316cf9e7e1a8226]
|
14,892,580 |
133F59F1 |
072-Understanding_View_Encapsulation.mkv
[d1a65a89d0b40488]
|
69,051,497 |
8CB27E64 |
299-Login_Error_Handling.mkv
[e973f704d94c7e3b]
|
49,416,713 |
4754DE6C |
035-Combining_all_Forms_of_Databinding.mkv
[5c75550cba9f8cda]
|
10,985,619 |
A3F41AAF |
002-What_is_Angular.mkv
[4c37e9b4be668a5]
|
14,924,258 |
354F7437 |
368-Effects_and_Error_Handling.mkv
[22f73d943ed86a0d]
|
107,078,442 |
EB3599AA |
331-Understanding_Lazy_Loading.mkv
[5e4fc33816f788f]
|
4,179,007 |
912ACBAC |
262-Using_a_Service_for_Http_Requests.mkv
[80608643f1bf5b7]
|
45,751,023 |
E07253AF |
147-Protecting_Routes_with_canActivate.mkv
[6a96fa312add73f1]
|
63,510,533 |
DB7920E0 |
132-Using_Relative_Paths_in_Programmatic_Navigation.mkv
[ae81a253c44981a3]
|
47,131,342 |
B31B6B53 |
179-Wrap_Up.mkv
[e1d9f991027f33f2]
|
5,679,665 |
2C80415D |
258-Using_RxJS_Operators_to_Transform_Response_Data.mkv
[8e7003b0a673693d]
|
23,214,739 |
F0A5339B |
263-Services_and_Components_Working_Together.mkv
[9f7eb1016a6f30ab]
|
21,498,952 |
6CB818C3 |
267-Using_the_catchError_Operator.mkv
[28a4bcd46847d332]
|
14,541,526 |
BB610698 |
112-Injecting_Services_into_Services.mkv
[52e80413237c5d75]
|
34,609,080 |
53F282E8 |
318-Wrap_Up.mkv
[a7bd44597c0bd682]
|
9,412,396 |
6BB74691 |
281-Setting_Up_the_DataStorage_Service.mkv
[b6dbeb8380fbc5b4]
|
40,092,512 |
3B9550EF |
046-Planning_the_App.mkv
[f5c25c0ae6402600]
|
9,141,375 |
381617C6 |
024-Fully_Understanding_the_Component_Selector.mkv
[75163790e615a4e7]
|
19,167,636 |
E8C3F955 |
367-Defining_the_First_Effect.mkv
[c55f5243450646f8]
|
34,144,225 |
6763A44A |
300-Creating_and_Storing_the_User_Data.mkv
[5616543ff54eea30]
|
103,725,533 |
80468114 |
059-Creating_and_Outputting_the_Shopping_List.mkv
[8e8e3acd4ca068cc]
|
11,039,567 |
A8CE9A90 |
358-Managing_More_State_via_NgRx.mkv
[8150498341a1f6cd]
|
114,118,419 |
1EABE698 |
055-Outputting_a_List_of_Recipes_with_ngFor.mkv
[5334d76431d5cd46]
|
28,458,559 |
F37C5E76 |
296-Adding_a_Loading_Spinner_and_Error_Handling_Logic.mkv
[e7d57e3925158483]
|
67,191,068 |
657602AE |
276-Multiple_Interceptors.mkv
[cb73ce6abf4176a7]
|
49,321,632 |
29E05EB2 |
362-Setting_Up_Auth_Reducer_and_Actions.mkv
[f9ac54ec791f8212]
|
88,518,008 |
9194F3F3 |
159-Fixing_Page_Reload_Issues.mkv
[ab81a3f015f502a2]
|
20,253,835 |
89E97904 |
181-Improving_the_Reactive_Service_with_Observables_(Subjects).mkv
[4fe16b21a6d8801]
|
44,979,901 |
1820A8A3 |
346-What_is_Application_State.mkv
[c258263de4229e42]
|
64,312,655 |
BC229842 |
091-Module_Introduction.mkv
[a7583404406fa7db]
|
4,489,658 |
076C96EF |
315-Creating_a_Component_Programmatically.mkv
[fed97280e508c006]
|
36,723,760 |
8F97299D |
145-Outsourcing_the_Route_Configuration.mkv
[c457751f79061dce]
|
43,757,370 |
3B8D9711 |
056-Displaying_Recipe_Details.mkv
[70b28ef35c4cb48c]
|
35,110,141 |
D37B62B7 |
225-Allowing_the_the_User_to_Clear_(Cancel)_the_Form.mkv
[8cd35cc3f5465798]
|
6,429,046 |
E2FB27A5 |
015-Module_Introduction.mkv
[69b1580e4b205115]
|
4,078,072 |
CF6BC236 |
201-TD_Resetting_Forms.mkv
[e60bd7ab9c9733d6]
|
12,555,928 |
947F9926 |
316-Understanding_entryComponents.mkv
[78574288c9f31bcd]
|
69,679,908 |
DC9D6D3A |
113-Using_Services_for_Cross-Component_Communication.mkv
[3a06c9d24d2c2b6e]
|
29,261,740 |
395F58D9 |
124-Module_Introduction.mkv
[da7ccd60192c42c5]
|
4,777,919 |
4F081016 |
366-Exploring_NgRx_Effects.mkv
[95d680b83708300b]
|
29,676,932 |
E3877845 |
343-Deployment_Example_Firebase_Hosting.mkv
[5cd4aaab93683018]
|
35,003,573 |
B2AE5F8D |
166-Retrieving_Route_Parameters.mkv
[e5b6901e7b9e54d5]
|
21,398,637 |
306715A7 |
138-Retrieving_Query_Parameters_and_Fragments.mkv
[c97a36192d029484]
|
24,348,910 |
59C8B0B3 |
177-Understanding_Operators.mkv
[9a35dbde497902c7]
|
105,548,287 |
BA8B4BA2 |
317-Data_Binding_and_Event_Binding.mkv
[88a359fcafb4cfb6]
|
40,192,750 |
D686FA4B |
137-Passing_Query_Parameters_and_Fragments.mkv
[f6e65a2f4b9bc795]
|
38,888,522 |
3CDEE9F5 |
136-An_Important_Note_about_Route_Observables.mkv
[d55d0c92b9311811]
|
15,024,668 |
9B451FE6 |
090-Allowing_the_User_to_Add_Ingredients_to_the_Shopping_List.mkv
[7ac225e7e92821c2]
|
43,478,720 |
FED8DDD9 |
157-Adding_Navigation_to_the_App.mkv
[5cbffc18d0e2c559]
|
24,737,158 |
D13C8586 |
161-Adding_Child_Routing_Together.mkv
[1acff34dc24b94e0]
|
26,869,724 |
25A5EA68 |
062-Understanding_Angular_Error_Messages.mkv
[e2db184dd316ae70]
|
29,421,141 |
7EBA9887 |
176-Observables_and_You.mkv
[8de8dff5f5def1e1]
|
14,099,053 |
93466388 |
151-Passing_Static_Data_to_a_Route.mkv
[bc8b64627fd1f5b]
|
171,777,686 |
0109FC4E |
245-Chaining_Multiple_Pipes.mkv
[8c3a9cb0cc7f4a4e]
|
16,218,430 |
732D281F |
186-An_Example_Form.mkv
[5635d7b6057c391e]
|
9,808,661 |
97165B4F |
018-Creating_a_New_Component.mkv
[3a2a177038ea86a1]
|
32,852,059 |
39401D81 |
222-Loading_the_Shopping_List_Items_into_the_Form.mkv
[7563def9c8bfce6d]
|
18,377,868 |
07F43DC1 |
165-Adding_Editing_Routes.mkv
[5b24ba529e6661ab]
|
29,334,962 |
170E64EA |
125-Why_do_we_need_a_Router.mkv
[837229818989289]
|
5,095,998 |
1B103839 |
254-The_Anatomy_of_a_Http_Request.mkv
[911a3ccbbd4dbe36]
|
4,165,565 |
082CB630 |
010-How_to_get_the_Most_out_of_the_Course.mkv
[450ff09f6575416f]
|
8,005,252 |
27B1EE41 |
123-Passing_Ingredients_from_Recipes_to_the_Shopping_List_(via_a_Service).mkv
[3e4263f3668561a2]
|
41,600,511 |
37B66239 |
294-Preparing_the_Signup_Request.mkv
[8445151e4d8749da]
|
88,785,342 |
CC5074E4 |
013-A_Basic_Project_Setup_using_Bootstrap_for_Styling.mkv
[6f7b1b2232c47b55]
|
45,515,890 |
7B65EC57 |
049-Creating_the_Components.mkv
[bd16244e7350caf2]
|
37,928,365 |
54D3AEE9 |
202-Introduction_to_the_Reactive_Approach.mkv
[bfc9c4718b9c11be]
|
2,129,579 |
5265FDFB |
098-Using_HostBinding_to_Bind_to_Host_Properties.mkv
[e53962b69065d945]
|
24,667,032 |
06EC140E |
supplemental_assets |
0 |
00000000 |
|
Total size: |
12,053,044,866 |
|
|