Question
Purpose:
* Demonstrate ability to backface cull triangles using the method discussed in class.
* Demonstrate ability to write some additional (simple) C code.

Background:
* Use the backface culling techinique developed and discussed in class.
* The goal for this homework is to read a model and a view file and then generate the properly projected and clipped lines for that model -- but only for those faces that are visible from the camera position. The lines are then printed (along with the canvas size) to create a viewable ".sdf" file.
* The Model and View files are as described in previous homework.

Tasks:

1. There are a number of TODO: comments in the .c files that need to be replaced with the appropriate C code. (Do NOT change anything in any .c file except to update the headers and to replace a TODO comment with your code.)

Here's a list:
hmwk_04.c:42:    // TODO: Allocate enough space for the number of vertices the ...
hmwk_04.c:49:    // TODO: Project the vertices of the model into the space you ...
hmwk_04.c:59:    // TODO: Print four 'l' lines, corresponding to the ...
hmwk_04.c:70:    // TODO: Construct a Vertex holding the worldspace position of ...
hmwk_04.c:88:    // TODO: For each face of the model, draw the triangle ...
hmwk_04.c:97:    // TODO: Free all allocated structures. ...
hmwk_04.c:101:    // TODO: Return from main indicating no error. ...

projection.c:93: // TODO: Use projectVertex() to project each of the ...

triangle.c:13:    // TODO: Using a Line structure and calling clipLine(), check ...

visible.c:13:    // TODO: Purpose: Determine if the triangle represent by ...

7. When you have done so, compile and run everything as shown. Notice that there are two input files being given to hmwk_04, the first is the model file (Tests/pyramid_01.svfm) and the second is the view file (Tests/pyramid_01.view).

You should observe the given output.

$ gcc -o hmwk_04 hmwk_04.c face.c line.c model.c projection.c triangle.c vertex.c view.c visible.c -lm
$ ./hmwk_04 Tests/pyramid.svfm Tests/pyramid_setting_01.view
#- Model parameters --------------------
# Vertex count :    5
# Face count   :    6

#- Vertex list -------------------------
# [    0]       0.000000,      0.000000,      0.000000
# [    1]       0.800000,      0.000000,      0.000000
# [    2]       0.000000,      0.800000,      0.000000
# [    3]       0.800000,      0.800000,      0.000000
# [    4]       0.400000,      0.400000,      0.700000

#- Face list ---------------------------
# [    0]      3,    1,    0
# [    1]      2,    3,    0
# [    2]      1,    4,    0
# [    3]      4,    2,    0
# [    4]      1,    3,    4
# [    5]      2,    4,    3
#---------------------------------------
#- View parameters ---------------------
# Bézier resolution :    0
# Euler angles      :      0.000000,      0.000000,      0.000000
# World limits      :    -1.000000,    -1.000000,      1.000000,      1.000000
# Camera distance   :      0.000000
# Canvas width      :   500
# Canvas height    :   400
# Screen limits    :      0.100000,      0.100000,      0.900000,      0.900000
# Portal pixels    :   50, 450,   40, 360
#---------------------------------------
#- Projection parameters ---------------
# (fx, fy) : (      1.000000,      1.000000 )
# (gx, gy) : (    50.000000,    40.000000 )
# (sx, sy) : (    200.000000,    160.000000 )
# (ax, ay) : (    250.000000,    200.000000 )
# Camera distance :      0.000000
#---------------------------------------
c 500 400
l    50       40      450       40
l    450       40      450      360
l    450      360       50      360
l    50      360       50       40
l    410.0    200.0    330.0    264.0
l    330.0    264.0    250.0    200.0
l    250.0    200.0    410.0    200.0
l    330.0    264.0    250.0    328.0
l    250.0    328.0    250.0    200.0
l    250.0    200.0    330.0    264.0
l    410.0    200.0    410.0    328.0
l    410.0    328.0    330.0    264.0
l    330.0    264.0    410.0    200.0
l    250.0    328.0    330.0    264.0
l    330.0    264.0    410.0    328.0
l    410.0    328.0    250.0    328.0
$

Your output should match this EXACTLY. 'EXACTLY' means just that. It should be the same character-by-character. When your program is tested, it will be run against other data files and the output compared using diff.

8. There are a number of line files in Tests/ along with a view file for each. Run all of these tests and compare your results to those given in Results/. Your output should match

9. Use diff (fc on Windows) to compare your output to that of the results file. They should match with NO DIFFERENCES. (Remember that line endings can be different among Linux, MacOS, and (shudder) Windows, so do your comparisons ignoring only the line endings. The SPACING within the lines however should be identical.)

10. Save the output of hmwk_04 in a file with the '.sdf' extension and use the Display tool to view it. (See the Display tool posting on Canvas for more info. The SDF files in Results/ are all viewable with the Display tool.)

Your display should look like the images in Screenshots/.

Compare these new screenshots with those that were given for Homework 03. (The '_03' cases are new for this homework so there're no corresponding screenshots in Homework 03 for them.)

Notice that while the general look is the same, you no longer see those triangles whose back sides were facing the camera.
Solution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references.
Students may use these solutions for personal skill-building and practice.
Unethical use is strictly forbidden.

//----------------------------------------------------------
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

#include "projection.h"

//----------------------------------------------------------
Projection *allocProjection()
{
Projection *p;

p = (Projection *) calloc( 1, sizeof( Projection ) );
if ( p == NULL ) {
    fprintf( stderr, "allocProjection: Unable to allocate Projection.\n" );
    exit( 1 );
}

return p;
}

//----------------------------------------------------------
Projection *computeProjection( View *v )
{
Projection *p = allocProjection();

p->m_fx = -v->m_worldXMin;
p->m_fy = -v->m_worldYMin;

p->m_gx = v->m_width*v->m_viewportXMin;
p->m_gy = v->m_height*v->m_viewportYMin;

p->m_sx = ( v->m_width*( v->m_viewportXMax - v->m_viewportXMin ) ) /
    ( v->m_worldXMax - v->m_worldXMin );
p->m_sy = ( v->m_height*( v->m_viewportYMax - v->m_viewportYMin ) ) /
    ( v->m_worldYMax - v->m_worldYMin );

p->m_ax = p->m_fx*p->m_sx + p->m_gx;
p->m_ay = p->m_fy*p->m_sy + p->m_gy;

p->m_cameraDistance = v->m_cameraDistance;

return p;
}

//----------------------------------------------------------
void dumpProjection( Projection *p )
{
printf( "#- Projection parameters ---------------\n" );
printf( "# (fx, fy) : ( %13.6f, %13.6f )\n", p->m_fx, p->m_fy );
printf( "# (gx, gy) : ( %13.6f, %13.6f )\n", p->m_gx, p->m_gy );
printf( "# (sx, sy) : ( %13.6f, %13.6f )\n", p->m_sx, p->m_sy );
printf( "# (ax, ay) : ( %13.6f, %13.6f )\n", p->m_ax, p->m_ay );
printf( "# Camera distance : %13.6f\n", p->m_cameraDistance );
printf( "#---------------------------------------\n" );
}

//----------------------------------------------------------
void freeProjection( Projection *p )
{
if ( p != NULL ) {
    free( p );
}
}

//----------------------------------------------------------
void projectVertex( Projection *p, Vertex *v1, Vertex *v2 )
{
double x = v1->x;
double y = v1->y;
double z = v1->z;

if ( p->m_cameraDistance != 0.0 ) {
    if ( z >= p->m_cameraDistance ) {
      fprintf( stderr, "Vertex has z (%13.6f) >= the camera distance (%13.6f)\n",
       z, p->m_cameraDistance );
    } else {
      x = x / ( 1 - z/p->m_cameraDistance );
      y = y / ( 1 - z/p->m_cameraDistance );
    }
This is only a preview of the solution.
Please use the purchase button to see the entire solution.
By purchasing this solution you'll be able to access the following files:
Solution.zip
Purchase Solution
$70.00
Google Pay
Amazon
Paypal
Mastercard
Visacard
Discover
Amex
View Available Computer Science Tutors 529 tutors matched
Ionut
(ionut)
Hi! MSc Applied Informatics & Computer Science Engineer. Practical experience in many CS & IT branches.Research work & homework
5/5 (5,654+ sessions)
2 hours avg response
Leo
(Leo)
Hi! I have been a professor in New York and taught in a math department and in an applied math department.
4.9/5 (5,652+ sessions)
2 hours avg response
Pranay
(math1983)
Ph.D. in mathematics and working as an Assistant Professor in University. I can provide help in mathematics, statistics and allied areas.
4.6/5 (5,512+ sessions)
1 hour avg response

Similar Homework Solutions

8.1.0PHP Version403msRequest Duration45MBMemory UsageGET college-homework-library/{category}/{subject}/{id}Route
    • Booting (218ms)time
    • Application (186ms)time
    • 1 x Booting (53.94%)
      218ms
      1 x Application (46.06%)
      186ms
      • Illuminate\Routing\Events\Routing (1.4ms)
      • Illuminate\Routing\Events\RouteMatched (540μs)
      • Illuminate\Foundation\Events\LocaleUpdated (5.29ms)
      • eloquent.booting: App\Models\HomeworkLibrary\HomeworkLibrary (247μs)
      • eloquent.booted: App\Models\HomeworkLibrary\HomeworkLibrary (253μs)
      • Illuminate\Database\Events\ConnectionEstablished (2.67ms)
      • Illuminate\Database\Events\StatementPrepared (12.33ms)
      • Illuminate\Database\Events\QueryExecuted (2.2ms)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (114μs)
      • eloquent.booting: App\Models\Subject (106μs)
      • eloquent.booted: App\Models\Subject (42μs)
      • Illuminate\Database\Events\StatementPrepared (1.74ms)
      • Illuminate\Database\Events\QueryExecuted (1.63ms)
      • eloquent.retrieved: App\Models\Subject (116μs)
      • eloquent.booting: App\Models\HomeworkLibrary\HomeworkLibraryFile (84μs)
      • eloquent.booted: App\Models\HomeworkLibrary\HomeworkLibraryFile (39μs)
      • Illuminate\Database\Events\StatementPrepared (878μs)
      • Illuminate\Database\Events\QueryExecuted (2.41ms)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (117μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (20μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (16μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (12μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (10μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (11μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (10μs)
      • eloquent.booting: App\Models\SubjectCat (1.04ms)
      • eloquent.booted: App\Models\SubjectCat (65μs)
      • Illuminate\Database\Events\StatementPrepared (842μs)
      • Illuminate\Database\Events\QueryExecuted (997μs)
      • eloquent.retrieved: App\Models\SubjectCat (108μs)
      • Illuminate\Cache\Events\CacheHit (15.98ms)
      • Illuminate\Cache\Events\CacheMissed (714μs)
      • Illuminate\Database\Events\StatementPrepared (983μs)
      • Illuminate\Database\Events\QueryExecuted (30.4ms)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (81μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (17μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (76μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (8μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (7μs)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (6μs)
      • Illuminate\Database\Events\StatementPrepared (603μs)
      • Illuminate\Database\Events\QueryExecuted (1.24ms)
      • eloquent.retrieved: App\Models\Subject (89μs)
      • Illuminate\Cache\Events\KeyWritten (874μs)
      • Illuminate\Database\Events\StatementPrepared (1.65ms)
      • Illuminate\Database\Events\QueryExecuted (2.84ms)
      • Illuminate\Database\Events\StatementPrepared (865μs)
      • Illuminate\Database\Events\QueryExecuted (1.72ms)
      • Illuminate\Database\Events\StatementPrepared (710μs)
      • Illuminate\Database\Events\QueryExecuted (1.11ms)
      • eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (68μs)
      • Illuminate\Cache\Events\CacheHit (575μs)
      • creating: homework.show (269μs)
      • composing: homework.show (110μs)
      • creating: components.breadcrumbs (383μs)
      • composing: components.breadcrumbs (128μs)
      • Illuminate\Database\Events\StatementPrepared (1.49ms)
      • Illuminate\Database\Events\QueryExecuted (878μs)
      • eloquent.retrieved: App\Models\SubjectCat (84μs)
      • Illuminate\Cache\Events\CacheHit (4.74ms)
      • Illuminate\Cache\Events\CacheHit (187μs)
      • Illuminate\Cache\Events\CacheHit (179μs)
      • Illuminate\Cache\Events\CacheHit (127μs)
      • Illuminate\Cache\Events\CacheHit (186μs)
      • Illuminate\Cache\Events\CacheHit (170μs)
      • Illuminate\Cache\Events\CacheHit (146μs)
      • Illuminate\Cache\Events\CacheHit (104μs)
      • Illuminate\Cache\Events\CacheHit (135μs)
      • Illuminate\Cache\Events\CacheHit (177μs)
      • Illuminate\Cache\Events\CacheHit (205μs)
      • Illuminate\Cache\Events\CacheHit (165μs)
      • Illuminate\Cache\Events\CacheHit (184μs)
      • Illuminate\Cache\Events\CacheHit (170μs)
      • Illuminate\Cache\Events\CacheMissed (187μs)
      • Illuminate\Database\Events\StatementPrepared (633μs)
      • Illuminate\Database\Events\QueryExecuted (968μs)
      • eloquent.retrieved: App\Models\SubjectCat (93μs)
      • Illuminate\Cache\Events\KeyWritten (360μs)
      • Illuminate\Cache\Events\CacheHit (369μs)
      • Illuminate\Cache\Events\CacheHit (171μs)
      • Illuminate\Cache\Events\CacheHit (175μs)
      • Illuminate\Cache\Events\CacheHit (190μs)
      • Illuminate\Cache\Events\CacheHit (124μs)
      • Illuminate\Cache\Events\CacheHit (245μs)
      • Illuminate\Cache\Events\CacheHit (219μs)
      • Illuminate\Cache\Events\CacheMissed (202μs)
      • Illuminate\Database\Events\StatementPrepared (658μs)
      • Illuminate\Database\Events\QueryExecuted (890μs)
      • eloquent.retrieved: App\Models\SubjectCat (84μs)
      • Illuminate\Cache\Events\KeyWritten (311μs)
      • Illuminate\Cache\Events\CacheHit (192μs)
      • Illuminate\Cache\Events\CacheHit (199μs)
      • Illuminate\Cache\Events\CacheHit (329μs)
      • Illuminate\Cache\Events\CacheHit (184μs)
      • Illuminate\Cache\Events\CacheHit (210μs)
      • Illuminate\Cache\Events\CacheHit (205μs)
      • Illuminate\Cache\Events\CacheHit (182μs)
      • Illuminate\Cache\Events\CacheHit (196μs)
      • Illuminate\Cache\Events\CacheHit (176μs)
      • Illuminate\Cache\Events\CacheHit (191μs)
      • Illuminate\Cache\Events\CacheHit (165μs)
      • Illuminate\Cache\Events\CacheHit (197μs)
      • Illuminate\Cache\Events\CacheHit (170μs)
      • Illuminate\Cache\Events\CacheHit (182μs)
      • Illuminate\Cache\Events\CacheHit (163μs)
      • Illuminate\Cache\Events\CacheHit (197μs)
      • Illuminate\Cache\Events\CacheHit (173μs)
      • Illuminate\Cache\Events\CacheHit (212μs)
      • Illuminate\Cache\Events\CacheHit (179μs)
      • Illuminate\Cache\Events\CacheHit (195μs)
      • Illuminate\Cache\Events\CacheHit (171μs)
      • Illuminate\Cache\Events\CacheHit (203μs)
      • Illuminate\Cache\Events\CacheHit (185μs)
      • Illuminate\Cache\Events\CacheHit (206μs)
      • Illuminate\Cache\Events\CacheHit (171μs)
      • Illuminate\Cache\Events\CacheHit (196μs)
      • Illuminate\Cache\Events\CacheHit (175μs)
      • Illuminate\Cache\Events\CacheHit (174μs)
      • Illuminate\Cache\Events\CacheHit (116μs)
      • Illuminate\Cache\Events\CacheHit (160μs)
      • Illuminate\Cache\Events\CacheHit (172μs)
      • Illuminate\Cache\Events\CacheMissed (148μs)
      • Illuminate\Database\Events\StatementPrepared (584μs)
      • Illuminate\Database\Events\QueryExecuted (857μs)
      • eloquent.retrieved: App\Models\SubjectCat (119μs)
      • Illuminate\Cache\Events\KeyWritten (839μs)
      • Illuminate\Cache\Events\CacheHit (287μs)
      • Illuminate\Cache\Events\CacheHit (234μs)
      • Illuminate\Cache\Events\CacheHit (187μs)
      • Illuminate\Cache\Events\CacheHit (211μs)
      • Illuminate\Cache\Events\CacheHit (221μs)
      • Illuminate\Cache\Events\CacheHit (185μs)
      • Illuminate\Cache\Events\CacheHit (177μs)
      • Illuminate\Cache\Events\CacheHit (218μs)
      • Illuminate\Cache\Events\CacheHit (203μs)
      • Illuminate\Cache\Events\CacheHit (215μs)
      • Illuminate\Cache\Events\CacheHit (188μs)
      • Illuminate\Cache\Events\CacheHit (213μs)
      • Illuminate\Cache\Events\CacheHit (187μs)
      • Illuminate\Cache\Events\CacheHit (213μs)
      • Illuminate\Cache\Events\CacheHit (219μs)
      • Illuminate\Cache\Events\CacheHit (225μs)
      • Illuminate\Cache\Events\CacheHit (188μs)
      • Illuminate\Cache\Events\CacheHit (210μs)
      • Illuminate\Cache\Events\CacheHit (189μs)
      • Illuminate\Cache\Events\CacheHit (232μs)
      • Illuminate\Cache\Events\CacheHit (193μs)
      • Illuminate\Cache\Events\CacheHit (212μs)
      • Illuminate\Cache\Events\CacheHit (189μs)
      • Illuminate\Cache\Events\CacheHit (212μs)
      • Illuminate\Cache\Events\CacheHit (186μs)
      • Illuminate\Cache\Events\CacheHit (210μs)
      • Illuminate\Cache\Events\CacheHit (185μs)
      • Illuminate\Cache\Events\CacheHit (204μs)
      • Illuminate\Cache\Events\CacheHit (180μs)
      • Illuminate\Cache\Events\CacheHit (199μs)
      • Illuminate\Cache\Events\CacheHit (176μs)
      • Illuminate\Cache\Events\CacheHit (206μs)
      • Illuminate\Cache\Events\CacheHit (187μs)
      • Illuminate\Cache\Events\CacheHit (205μs)
      • Illuminate\Cache\Events\CacheHit (206μs)
      • Illuminate\Cache\Events\CacheHit (200μs)
      • Illuminate\Cache\Events\CacheHit (145μs)
      • Illuminate\Cache\Events\CacheHit (142μs)
      • Illuminate\Cache\Events\CacheHit (131μs)
      • Illuminate\Cache\Events\CacheMissed (187μs)
      • Illuminate\Database\Events\StatementPrepared (666μs)
      • Illuminate\Database\Events\QueryExecuted (844μs)
      • eloquent.retrieved: App\Models\SubjectCat (84μs)
      • Illuminate\Cache\Events\KeyWritten (993μs)
      • Illuminate\Cache\Events\CacheHit (253μs)
      • Illuminate\Cache\Events\CacheHit (215μs)
      • Illuminate\Cache\Events\CacheHit (216μs)
      • Illuminate\Cache\Events\CacheHit (214μs)
      • Illuminate\Cache\Events\CacheHit (203μs)
      • Illuminate\Cache\Events\CacheHit (204μs)
      • Illuminate\Cache\Events\CacheHit (165μs)
      • Illuminate\Cache\Events\CacheMissed (397μs)
      • Illuminate\Database\Events\StatementPrepared (589μs)
      • Illuminate\Database\Events\QueryExecuted (767μs)
      • eloquent.retrieved: App\Models\SubjectCat (67μs)
      • Illuminate\Cache\Events\KeyWritten (297μs)
      • Illuminate\Cache\Events\CacheHit (1.26ms)
      • Illuminate\Cache\Events\CacheHit (232μs)
      • Illuminate\Cache\Events\CacheHit (135μs)
      • Illuminate\Cache\Events\CacheHit (179μs)
      • Illuminate\Cache\Events\CacheHit (147μs)
      • Illuminate\Cache\Events\CacheHit (294μs)
      • Illuminate\Cache\Events\CacheHit (174μs)
      • Illuminate\Cache\Events\CacheHit (145μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (133μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (645μs)
      • Illuminate\Cache\Events\CacheHit (126μs)
      • Illuminate\Cache\Events\CacheHit (152μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (128μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (120μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (130μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (124μs)
      • Illuminate\Cache\Events\CacheHit (107μs)
      • Illuminate\Cache\Events\CacheHit (167μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (128μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (152μs)
      • Illuminate\Cache\Events\CacheHit (122μs)
      • Illuminate\Cache\Events\CacheMissed (1.98ms)
      • Illuminate\Database\Events\StatementPrepared (602μs)
      • Illuminate\Database\Events\QueryExecuted (933μs)
      • eloquent.retrieved: App\Models\SubjectCat (72μs)
      • Illuminate\Cache\Events\KeyWritten (261μs)
      • Illuminate\Cache\Events\CacheHit (179μs)
      • Illuminate\Cache\Events\CacheHit (147μs)
      • Illuminate\Cache\Events\CacheHit (298μs)
      • Illuminate\Cache\Events\CacheHit (165μs)
      • Illuminate\Cache\Events\CacheHit (122μs)
      • Illuminate\Cache\Events\CacheHit (179μs)
      • Illuminate\Cache\Events\CacheHit (124μs)
      • Illuminate\Cache\Events\CacheHit (146μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (116μs)
      • Illuminate\Cache\Events\CacheHit (115μs)
      • Illuminate\Cache\Events\CacheHit (126μs)
      • Illuminate\Cache\Events\CacheHit (113μs)
      • Illuminate\Cache\Events\CacheHit (121μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (120μs)
      • Illuminate\Cache\Events\CacheHit (194μs)
      • Illuminate\Cache\Events\CacheHit (129μs)
      • Illuminate\Cache\Events\CacheHit (129μs)
      • Illuminate\Cache\Events\CacheHit (107μs)
      • Illuminate\Cache\Events\CacheHit (168μs)
      • Illuminate\Cache\Events\CacheHit (129μs)
      • Illuminate\Cache\Events\CacheHit (139μs)
      • Illuminate\Cache\Events\CacheHit (154μs)
      • Illuminate\Cache\Events\CacheHit (182μs)
      • Illuminate\Cache\Events\CacheHit (110μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (115μs)
      • Illuminate\Cache\Events\CacheHit (101μs)
      • Illuminate\Cache\Events\CacheHit (137μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (116μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (117μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (122μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (173μs)
      • Illuminate\Cache\Events\CacheHit (125μs)
      • Illuminate\Cache\Events\CacheHit (201μs)
      • Illuminate\Cache\Events\CacheHit (183μs)
      • Illuminate\Cache\Events\CacheHit (150μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (246μs)
      • Illuminate\Cache\Events\CacheHit (120μs)
      • Illuminate\Cache\Events\CacheHit (125μs)
      • Illuminate\Cache\Events\CacheHit (98μs)
      • Illuminate\Cache\Events\CacheHit (109μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (121μs)
      • Illuminate\Cache\Events\CacheHit (99μs)
      • Illuminate\Cache\Events\CacheHit (148μs)
      • Illuminate\Cache\Events\CacheHit (172μs)
      • Illuminate\Cache\Events\CacheHit (153μs)
      • Illuminate\Cache\Events\CacheHit (107μs)
      • Illuminate\Cache\Events\CacheHit (134μs)
      • Illuminate\Cache\Events\CacheHit (113μs)
      • Illuminate\Cache\Events\CacheHit (122μs)
      • Illuminate\Cache\Events\CacheHit (128μs)
      • Illuminate\Cache\Events\CacheHit (120μs)
      • Illuminate\Cache\Events\CacheHit (108μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (104μs)
      • Illuminate\Cache\Events\CacheHit (117μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (125μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (645μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (162μs)
      • Illuminate\Cache\Events\CacheHit (127μs)
      • Illuminate\Cache\Events\CacheHit (101μs)
      • Illuminate\Cache\Events\CacheHit (121μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (99μs)
      • Illuminate\Cache\Events\CacheHit (115μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (139μs)
      • Illuminate\Cache\Events\CacheHit (105μs)
      • Illuminate\Cache\Events\CacheHit (124μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (126μs)
      • Illuminate\Cache\Events\CacheHit (110μs)
      • Illuminate\Cache\Events\CacheHit (151μs)
      • Illuminate\Cache\Events\CacheHit (116μs)
      • Illuminate\Cache\Events\CacheHit (143μs)
      • Illuminate\Cache\Events\CacheHit (111μs)
      • Illuminate\Cache\Events\CacheHit (135μs)
      • Illuminate\Cache\Events\CacheHit (111μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (125μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (123μs)
      • Illuminate\Cache\Events\CacheHit (108μs)
      • Illuminate\Cache\Events\CacheHit (124μs)
      • Illuminate\Cache\Events\CacheHit (110μs)
      • Illuminate\Cache\Events\CacheHit (128μs)
      • Illuminate\Cache\Events\CacheHit (228μs)
      • Illuminate\Cache\Events\CacheHit (155μs)
      • Illuminate\Cache\Events\CacheHit (114μs)
      • Illuminate\Cache\Events\CacheHit (128μs)
      • Illuminate\Cache\Events\CacheHit (105μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (110μs)
      • Illuminate\Cache\Events\CacheHit (191μs)
      • Illuminate\Cache\Events\CacheHit (161μs)
      • Illuminate\Cache\Events\CacheHit (130μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (102μs)
      • Illuminate\Cache\Events\CacheHit (113μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (146μs)
      • Illuminate\Cache\Events\CacheHit (117μs)
      • Illuminate\Cache\Events\CacheHit (130μs)
      • Illuminate\Cache\Events\CacheHit (122μs)
      • Illuminate\Cache\Events\CacheHit (131μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (121μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (129μs)
      • Illuminate\Cache\Events\CacheHit (104μs)
      • Illuminate\Cache\Events\CacheHit (127μs)
      • Illuminate\Cache\Events\CacheHit (100μs)
      • Illuminate\Cache\Events\CacheHit (118μs)
      • Illuminate\Cache\Events\CacheHit (103μs)
      • Illuminate\Cache\Events\CacheHit (126μs)
      • Illuminate\Cache\Events\CacheHit (108μs)
      • Illuminate\Cache\Events\CacheHit (131μs)
      • Illuminate\Cache\Events\CacheHit (191μs)
      • Illuminate\Cache\Events\CacheHit (135μs)
      • Illuminate\Cache\Events\CacheHit (111μs)
      • Illuminate\Cache\Events\CacheMissed (206μs)
      • Illuminate\Database\Events\StatementPrepared (828μs)
      • Illuminate\Database\Events\QueryExecuted (1.04ms)
      • eloquent.retrieved: App\Models\SubjectCat (82μs)
      • Illuminate\Cache\Events\KeyWritten (1.35ms)
      • Illuminate\Cache\Events\CacheHit (341μs)
      • Illuminate\Cache\Events\CacheHit (250μs)
      • Illuminate\Cache\Events\CacheHit (329μs)
      • Illuminate\Cache\Events\CacheHit (504μs)
      • Illuminate\Cache\Events\CacheHit (290μs)
      • Illuminate\Cache\Events\CacheHit (227μs)
      • Illuminate\Cache\Events\CacheHit (132μs)
      • Illuminate\Cache\Events\CacheHit (160μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (127μs)
      • Illuminate\Cache\Events\CacheHit (106μs)
      • Illuminate\Cache\Events\CacheHit (119μs)
      • Illuminate\Cache\Events\CacheHit (104μs)
      • Illuminate\Cache\Events\CacheHit (202μs)
      • Illuminate\Cache\Events\CacheHit (112μs)
      • Illuminate\Cache\Events\CacheHit (120μs)
      • Illuminate\Cache\Events\CacheHit (101μs)
      • creating: site.layouts.app (384μs)
      • composing: site.layouts.app (18μs)
      • creating: components.canonical (312μs)
      • composing: components.canonical (115μs)
      • creating: components.open-graph (133μs)
      • composing: components.open-graph (50μs)
      • creating: site.headers.header (174μs)
      • composing: site.headers.header (48μs)
      • Illuminate\Cache\Events\CacheHit (1.82ms)
      • creating: components.footer (74μs)
      • composing: components.footer (70μs)
      • Illuminate\Cache\Events\CacheHit (764μs)
      • Illuminate\Cache\Events\CacheMissed (193μs)
      • Illuminate\Database\Events\StatementPrepared (684μs)
      • Illuminate\Database\Events\QueryExecuted (809μs)
      • eloquent.retrieved: App\Models\SubjectCat (73μs)
      • Illuminate\Cache\Events\KeyWritten (1.71ms)
      • Illuminate\Cache\Events\CacheHit (302μs)
      • Illuminate\Cache\Events\CacheHit (174μs)
      • Illuminate\Cache\Events\CacheHit (148μs)
      • Illuminate\Cache\Events\CacheHit (129μs)
      • Illuminate\Cache\Events\CacheHit (134μs)
      • Illuminate\Cache\Events\CacheHit (249μs)
      • Illuminate\Cache\Events\CacheHit (306μs)
      • Illuminate\Cache\Events\CacheHit (361μs)
      • Illuminate\Cache\Events\CacheHit (145μs)
      • Illuminate\Cache\Events\CacheHit (146μs)
      • Illuminate\Cache\Events\CacheHit (131μs)
      • Illuminate\Cache\Events\CacheHit (331μs)
      • creating: components.forms.contact-us (229μs)
      • composing: components.forms.contact-us (124μs)
      • creating: components.forms.get-started (114μs)
      • composing: components.forms.get-started (49μs)
      • creating: components.forms.free-tool-download (73μs)
      • composing: components.forms.free-tool-download (41μs)
      • creating: components.forms.claim-free-worksheet (67μs)
      • composing: components.forms.claim-free-worksheet (39μs)
      • creating: components.forms.tutor-subscription-waitlist (77μs)
      • composing: components.forms.tutor-subscription-waitlist (39μs)
      • creating: components.forms.tutor-subscription-join (64μs)
      • composing: components.forms.tutor-subscription-join (38μs)
      • creating: components.forms.tutor-support (63μs)
      • composing: components.forms.tutor-support (39μs)
      • 313 x Illuminate\Cache\Events\CacheHit (18.35%)
        73.99ms
        18 x Illuminate\Database\Events\QueryExecuted (13.03%)
        52.53ms
        18 x Illuminate\Database\Events\StatementPrepared (6.78%)
        27.34ms
        9 x Illuminate\Cache\Events\KeyWritten (1.74%)
        7.00ms
        1 x Illuminate\Foundation\Events\LocaleUpdated (1.31%)
        5.29ms
        9 x Illuminate\Cache\Events\CacheMissed (1.05%)
        4.21ms
        1 x Illuminate\Database\Events\ConnectionEstablished (0.66%)
        2.67ms
        1 x Illuminate\Routing\Events\Routing (0.35%)
        1.40ms
        1 x eloquent.booting: App\Models\SubjectCat (0.26%)
        1.04ms
        10 x eloquent.retrieved: App\Models\SubjectCat (0.21%)
        866μs
        1 x Illuminate\Routing\Events\RouteMatched (0.13%)
        540μs
        1 x creating: site.layouts.app (0.1%)
        384μs
        1 x creating: components.breadcrumbs (0.1%)
        383μs
        1 x creating: components.canonical (0.08%)
        312μs
        7 x eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibrary (0.08%)
        309μs
        1 x creating: homework.show (0.07%)
        269μs
        8 x eloquent.retrieved: App\Models\HomeworkLibrary\HomeworkLibraryFile (0.07%)
        264μs
        1 x eloquent.booted: App\Models\HomeworkLibrary\HomeworkLibrary (0.06%)
        253μs
        1 x eloquent.booting: App\Models\HomeworkLibrary\HomeworkLibrary (0.06%)
        247μs
        1 x creating: components.forms.contact-us (0.06%)
        229μs
        2 x eloquent.retrieved: App\Models\Subject (0.05%)
        205μs
        1 x creating: site.headers.header (0.04%)
        174μs
        1 x creating: components.open-graph (0.03%)
        133μs
        1 x composing: components.breadcrumbs (0.03%)
        128μs
        1 x composing: components.forms.contact-us (0.03%)
        124μs
        1 x composing: components.canonical (0.03%)
        115μs
        1 x creating: components.forms.get-started (0.03%)
        114μs
        1 x composing: homework.show (0.03%)
        110μs
        1 x eloquent.booting: App\Models\Subject (0.03%)
        106μs
        1 x eloquent.booting: App\Models\HomeworkLibrary\HomeworkLibraryFile (0.02%)
        84μs
        1 x creating: components.forms.tutor-subscription-waitlist (0.02%)
        77μs
        1 x creating: components.footer (0.02%)
        74μs
        1 x creating: components.forms.free-tool-download (0.02%)
        73μs
        1 x composing: components.footer (0.02%)
        70μs
        1 x creating: components.forms.claim-free-worksheet (0.02%)
        67μs
        1 x eloquent.booted: App\Models\SubjectCat (0.02%)
        65μs
        1 x creating: components.forms.tutor-subscription-join (0.02%)
        64μs
        1 x creating: components.forms.tutor-support (0.02%)
        63μs
        1 x composing: components.open-graph (0.01%)
        50μs
        1 x composing: components.forms.get-started (0.01%)
        49μs
        1 x composing: site.headers.header (0.01%)
        48μs
        1 x eloquent.booted: App\Models\Subject (0.01%)
        42μs
        1 x composing: components.forms.free-tool-download (0.01%)
        41μs
        1 x eloquent.booted: App\Models\HomeworkLibrary\HomeworkLibraryFile (0.01%)
        39μs
        1 x composing: components.forms.tutor-subscription-waitlist (0.01%)
        39μs
        1 x composing: components.forms.tutor-support (0.01%)
        39μs
        1 x composing: components.forms.claim-free-worksheet (0.01%)
        39μs
        1 x composing: components.forms.tutor-subscription-join (0.01%)
        38μs
        1 x composing: site.layouts.app (0%)
        18μs
      14 templates were rendered
      • 1x homework.showshow.blade.phpblade
      • 1x components.breadcrumbsbreadcrumbs.blade.phpblade
      • 1x site.layouts.appapp.blade.phpblade
      • 1x components.canonicalcanonical.blade.phpblade
      • 1x components.open-graphopen-graph.blade.phpblade
      • 1x site.headers.headerheader.blade.phpblade
      • 1x components.footerfooter.blade.phpblade
      • 1x components.forms.contact-uscontact-us.blade.phpblade
      • 1x components.forms.get-startedget-started.blade.phpblade
      • 1x components.forms.free-tool-downloadfree-tool-download.blade.phpblade
      • 1x components.forms.claim-free-worksheetclaim-free-worksheet.blade.phpblade
      • 1x components.forms.tutor-subscription-waitlisttutor-subscription-waitlist.blade.phpblade
      • 1x components.forms.tutor-subscription-jointutor-subscription-join.blade.phpblade
      • 1x components.forms.tutor-supporttutor-support.blade.phpblade
      uri
      GET college-homework-library/{category}/{subject}/{id}
      middleware
      web, utm.parameters
      controller
      App\Http\Controllers\HomeworkLibraryController@show
      namespace
      where
      as
      homework.show
      file
      app/Http/Controllers/HomeworkLibraryController.php:79-176
      18 statements were executed, 5 of which were duplicates, 13 unique. Show only duplicated65.63ms
      • Connection Establishedtwenty4_siteHomeworkLibraryController.php#91
        Backtrace
        • 13. app/Http/Controllers/HomeworkLibraryController.php:91
        • 14. vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 15. vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 16. vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 17. vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `solutionslibrary` where `status` = 'published' and `price` > 0 and `solutionslibrary`.`id` = '59614' limit 1
        13.48mstwenty4_siteHomeworkLibraryController.php#97
        Bindings
        • 0: published
        • 1: 0
        • 2: 59614
        Backtrace
        • 16. app/Http/Controllers/HomeworkLibraryController.php:97
        • 17. vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 18. vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 19. vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 20. vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `subjects` where `subjects`.`id` in (16)
        1.79mstwenty4_siteHomeworkLibraryController.php#97
        Backtrace
        • 21. app/Http/Controllers/HomeworkLibraryController.php:97
        • 22. vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 23. vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 24. vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 25. vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `solutionslibrary_files` where `solutionslibrary_files`.`solutionlib_id` in (59614)
        2.57mstwenty4_siteHomeworkLibraryController.php#97
        Backtrace
        • 21. app/Http/Controllers/HomeworkLibraryController.php:97
        • 22. vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 23. vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 24. vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 25. vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `subject_cats` where `subject_cats`.`id` = 3 limit 1
        1.18mstwenty4_siteHomeworkLibrary.php#201
        Bindings
        • 0: 3
        Backtrace
        • 20. app/Models/HomeworkLibrary/HomeworkLibrary.php:201
        • 26. app/Http/Controllers/HomeworkLibraryController.php:105
        • 27. vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 28. vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 29. vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
      • select * from `solutionslibrary` where `id` <> 59614 and `subject` = 16 and `status` = 'published' and `price` > 0 order by RAND() limit 6
        30.75mstwenty4_siteHomeworkLibraryRepository.php#30
        Bindings
        • 0: 59614
        • 1: 16
        • 2: published
        • 3: 0
        Backtrace
        • 14. app/Repositories/HomeworkLibraryRepository.php:30
        • 15. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 16. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 18. app/Repositories/HomeworkLibraryRepository.php:39
        • 19. app/Http/Controllers/HomeworkLibraryController.php:139
      • select * from `subjects` where `subjects`.`id` in (16)
        1.3mstwenty4_siteHomeworkLibraryRepository.php#30
        Backtrace
        • 19. app/Repositories/HomeworkLibraryRepository.php:30
        • 20. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 21. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 23. app/Repositories/HomeworkLibraryRepository.php:39
        • 24. app/Http/Controllers/HomeworkLibraryController.php:139
      • select * from `solutionslibrary_files` where `solutionslibrary_files`.`solutionlib_id` = 59614 and `solutionslibrary_files`.`solutionlib_id` is not null and `publish` = 'question' order by `order` asc, `id` asc
        2.88mstwenty4_siteHomeworkLibrary.php#260
        Bindings
        • 0: 59614
        • 1: question
        Backtrace
        • 15. app/Models/HomeworkLibrary/HomeworkLibrary.php:260
        • 16. app/Transformers/HomeworkLibrary/HomeworkLibraryTransformer.php:58
        • 19. vendor/league/fractal/src/TransformerAbstract.php:128
        • 20. vendor/league/fractal/src/TransformerAbstract.php:107
        • 21. vendor/league/fractal/src/Scope.php:383
      • select * from `solutionslibrary_files` where `solutionslibrary_files`.`solutionlib_id` = 59614 and `solutionslibrary_files`.`solutionlib_id` is not null and `publish` = 'teaser' order by `order` asc, `id` asc
        1.33mstwenty4_siteHomeworkLibrary.php#260
        Bindings
        • 0: 59614
        • 1: teaser
        Backtrace
        • 15. app/Models/HomeworkLibrary/HomeworkLibrary.php:260
        • 16. app/Transformers/HomeworkLibrary/HomeworkLibraryTransformer.php:69
        • 19. vendor/league/fractal/src/TransformerAbstract.php:128
        • 20. vendor/league/fractal/src/TransformerAbstract.php:107
        • 21. vendor/league/fractal/src/Scope.php:383
      • select * from `solutionslibrary_files` where `solutionslibrary_files`.`solutionlib_id` = 59614 and `solutionslibrary_files`.`solutionlib_id` is not null and `publish` = 'solution' order by `order` asc, `id` asc
        1.07mstwenty4_siteHomeworkLibrary.php#260
        Bindings
        • 0: 59614
        • 1: solution
        Backtrace
        • 15. app/Models/HomeworkLibrary/HomeworkLibrary.php:260
        • 16. app/Transformers/HomeworkLibrary/HomeworkLibraryTransformer.php:80
        • 19. vendor/league/fractal/src/TransformerAbstract.php:128
        • 20. vendor/league/fractal/src/TransformerAbstract.php:107
        • 21. vendor/league/fractal/src/Scope.php:383
      • select * from `subject_cats` where `subject_cats`.`id` = 3 limit 1
        1.1mstwenty4_siteHomeworkLibrary.php#201
        Bindings
        • 0: 3
        Backtrace
        • 20. app/Models/HomeworkLibrary/HomeworkLibrary.php:201
        • 32. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • 33. vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 34. vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
        • 35. vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:70
      • select * from `subject_cats` where `subject_cats`.`id` = 3 limit 1
        1.02mstwenty4_siteSubject.php#100
        Bindings
        • 0: 3
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 4 limit 1
        990μstwenty4_siteSubject.php#100
        Bindings
        • 0: 4
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 10 limit 1
        950μstwenty4_siteSubject.php#100
        Bindings
        • 0: 10
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 33 limit 1
        1.03mstwenty4_siteSubject.php#100
        Bindings
        • 0: 33
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 11 limit 1
        970μstwenty4_siteSubject.php#100
        Bindings
        • 0: 11
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 5 limit 1
        940μstwenty4_siteSubject.php#100
        Bindings
        • 0: 5
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 31 limit 1
        1.25mstwenty4_siteSubject.php#100
        Bindings
        • 0: 31
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 34. vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
      • select * from `subject_cats` where `subject_cats`.`id` = 36 limit 1
        1.03mstwenty4_siteSubject.php#100
        Bindings
        • 0: 36
        Backtrace
        • 18. app/Models/Subject.php:100
        • 19. vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • 20. vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:419
        • 22. app/Models/Subject.php:101
        • 28. view::components.footer:170
      App\Models\SubjectCat
      10SubjectCat.php
      App\Models\HomeworkLibrary\HomeworkLibraryFile
      8HomeworkLibraryFile.php
      App\Models\HomeworkLibrary\HomeworkLibrary
      7HomeworkLibrary.php
      App\Models\Subject
      2Subject.php
          _token
          c5VSSflQf4qJZn1OcLFxfqHS2y7YTVCzWzdlwMAL
          utm_source
          direct
          redirectUrl
          /college-homework-library/Computer-Science/C-Family-Programming/59614
          _previous
          array:1 [ "url" => "https://staging.dev.24houranswers.com/college-homework-library/Computer-Scienc...
          _flash
          array:2 [ "old" => [] "new" => [] ]
          PHPDEBUGBAR_STACK_DATA
          []
          path_info
          /college-homework-library/Computer-Science/C-Family-Programming/59614
          status_code
          200
          
          status_text
          OK
          format
          html
          content_type
          text/html; charset=UTF-8
          request_query
          []
          
          request_request
          []
          
          request_headers
          0 of 0
          array:21 [ "priority" => array:1 [ 0 => "u=0, i" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "x-amzn-trace-id" => array:1 [ 0 => "Root=1-680ddc73-1b5f98b654e1a3581ecd0e18" ] "host" => array:1 [ 0 => "staging.dev.24houranswers.com" ] "x-forwarded-port" => array:1 [ 0 => "443" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.133.130.192" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
          request_cookies
          []
          
          response_headers
          0 of 0
          array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sun, 27 Apr 2025 07:27:47 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjAvcHAwaFdzT1ZWeEM0NTNHYW5Ib3c9PSIsInZhbHVlIjoiV0VhcEZhUlRTbm5rWGdqUDBMak9kRnVWRERHSW1tVSs2UWlTZ3o0RUkxNS9DT0RVK2hib0NLOVBER1NqYkNpTGdYWWNnOHZ4VGZvRFI5bGdCRG5WMXlUNElUaFYzWWxTbWc5Vi8zNU5GK2VMbkY0Qi8zY29pMjRLQVJWQnhueUEiLCJtYWMiOiJkMjU2MTU2NzQ4NTI1OGE0ZDBjYmEzNjlkMzg2Njk3ZDQ1ZDVlZmE5ZmEyM2U3M2E4OGVjZjhmOGQ5OTE3ZTljIiwidGFnIjoiIn0%3D; expires=Sun, 27 Apr 2025 09:27:47 GMT; Max-Age=7200; path=/; domain=.24houranswers.com; samesite=laxXSRF-TOKEN=eyJpdiI6IjAvcHAwaFdzT1ZWeEM0NTNHYW5Ib3c9PSIsInZhbHVlIjoiV0VhcEZhUlRTbm5rWGdqUDBMak9kRnVWRERHSW1tVSs2UWlTZ3o0RUkxNS9DT0RVK2hib0NLOVBER1NqYkNpTGdYWWNnO" 1 => "24houranswers_session=eyJpdiI6IitQdkhxY1NQV213cnZvcjFLRnhwU2c9PSIsInZhbHVlIjoicGFNMGtpbFlSTGhhbnYzVklIWWo0QUxERytvMTB1SjQvUkRQR29qTit2cENtVTdSU3podE1GWDYwVmZEcTAzeGhZVlAwOXo3S2xud2pyc2l1aXRlbzBiT0swa1ZoNkVRbnVwQjlFM2ZrS29jQmkrZ0NwNTdacVN1OVpqVWFxMngiLCJtYWMiOiIwNzgyZDUxMmUzOTQ2MGEwNDZmNzRhNzM2M2QxZDAzNTZmY2QwNzJkOTg2N2Q2NmM0OGE3MWQ1YzExYjAxNzI2IiwidGFnIjoiIn0%3D; expires=Sun, 27 Apr 2025 09:27:47 GMT; Max-Age=7200; path=/; domain=.24houranswers.com; httponly; samesite=lax24houranswers_session=eyJpdiI6IitQdkhxY1NQV213cnZvcjFLRnhwU2c9PSIsInZhbHVlIjoicGFNMGtpbFlSTGhhbnYzVklIWWo0QUxERytvMTB1SjQvUkRQR29qTit2cENtVTdSU3podE1GWDYwVmZEcT" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjAvcHAwaFdzT1ZWeEM0NTNHYW5Ib3c9PSIsInZhbHVlIjoiV0VhcEZhUlRTbm5rWGdqUDBMak9kRnVWRERHSW1tVSs2UWlTZ3o0RUkxNS9DT0RVK2hib0NLOVBER1NqYkNpTGdYWWNnOHZ4VGZvRFI5bGdCRG5WMXlUNElUaFYzWWxTbWc5Vi8zNU5GK2VMbkY0Qi8zY29pMjRLQVJWQnhueUEiLCJtYWMiOiJkMjU2MTU2NzQ4NTI1OGE0ZDBjYmEzNjlkMzg2Njk3ZDQ1ZDVlZmE5ZmEyM2U3M2E4OGVjZjhmOGQ5OTE3ZTljIiwidGFnIjoiIn0%3D; expires=Sun, 27-Apr-2025 09:27:47 GMT; domain=.24houranswers.com; path=/XSRF-TOKEN=eyJpdiI6IjAvcHAwaFdzT1ZWeEM0NTNHYW5Ib3c9PSIsInZhbHVlIjoiV0VhcEZhUlRTbm5rWGdqUDBMak9kRnVWRERHSW1tVSs2UWlTZ3o0RUkxNS9DT0RVK2hib0NLOVBER1NqYkNpTGdYWWNnO" 1 => "24houranswers_session=eyJpdiI6IitQdkhxY1NQV213cnZvcjFLRnhwU2c9PSIsInZhbHVlIjoicGFNMGtpbFlSTGhhbnYzVklIWWo0QUxERytvMTB1SjQvUkRQR29qTit2cENtVTdSU3podE1GWDYwVmZEcTAzeGhZVlAwOXo3S2xud2pyc2l1aXRlbzBiT0swa1ZoNkVRbnVwQjlFM2ZrS29jQmkrZ0NwNTdacVN1OVpqVWFxMngiLCJtYWMiOiIwNzgyZDUxMmUzOTQ2MGEwNDZmNzRhNzM2M2QxZDAzNTZmY2QwNzJkOTg2N2Q2NmM0OGE3MWQ1YzExYjAxNzI2IiwidGFnIjoiIn0%3D; expires=Sun, 27-Apr-2025 09:27:47 GMT; domain=.24houranswers.com; path=/; httponly24houranswers_session=eyJpdiI6IitQdkhxY1NQV213cnZvcjFLRnhwU2c9PSIsInZhbHVlIjoicGFNMGtpbFlSTGhhbnYzVklIWWo0QUxERytvMTB1SjQvUkRQR29qTit2cENtVTdSU3podE1GWDYwVmZEcT" ] ]
          session_attributes
          0 of 0
          array:6 [ "_token" => "c5VSSflQf4qJZn1OcLFxfqHS2y7YTVCzWzdlwMAL" "utm_source" => "direct" "redirectUrl" => "/college-homework-library/Computer-Science/C-Family-Programming/59614" "_previous" => array:1 [ "url" => "https://staging.dev.24houranswers.com/college-homework-library/Computer-Science/C-Family-Programming/59614" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]